Как я могу получить выбранные значения строк DataGrid в C# и Скрыть столбец из DataGrid?
Я разрабатываю приложение для интеллектуального устройства на интеллектуальном устройстве Windows 6, поэтому DataGridView недоступен. Я хочу получить выбранные значения ячеек строки и скрыть некоторые столбцы. Возможно ли это в DataGrid?
3 ответа
Вы можете просто получить все выбранные значения из вашей DataGrid с помощью этого кода, написанного в вашем окне xaml.cs
файл:
var selectedItems = this.dataGrid1.SelectedItems;
Кроме того, если вы хотите выбрать всегда всю строку, вы должны изменить свойство вашего dataGrid
:
this.dataGrid1.SelectionUnit = DataGridSelectionUnit.FullRow;
А чтобы скрыть столбцы, вы должны изменить свойство Visibility столбца на Collapsed:
this.dataGrid1.Columns[0].Visibility = Visibility.Collapsed;
Для отдельной ячейки вы можете использовать:
var cellInfo = dataGrid.SelectedCells[0];
Это возвращает объект DataGridCellInfo, содержащий информацию о выбранной ячейке.
Чтобы скрыть столбцы, необходимо установить для их свойства Visibility значение Visibility.Collapsed.
dataGrid.Columns[index].Visibility = Visibility.Collapsed;
Надеюсь это поможет!
Но в следующий раз предоставьте код, пожалуйста.
Вы можете использовать следующее событие CellClick DataGridView, чтобы выбрать строку в вашей таблице данных и показать значения столбцов в указанных текстовых полях.
private void dgvUserList_CellClick(object sender, DataGridViewCellEventArgs e)
{
if (e.RowIndex!=-1)
{
id = Convert.ToInt32(dgvUserList.Rows[e.RowIndex].Cells["ID"].Value.ToString());
SqlConnection _sqlconnection = new SqlConnection(Database.ConnectionString);
if (_sqlconnection.State == ConnectionState.Closed || _sqlconnection.State == ConnectionState.Broken)
{
_sqlconnection.Close();
_sqlconnection.Open();
}
SqlCommand _sqlcommand = new SqlCommand("SELECT * FROM Users WHERE ID='" + id + "'");
_sqlcommand.Connection = _sqlconnection;
_sqlcommand.CommandType = CommandType.Text;
SqlDataAdapter _sqldataadapter = new SqlDataAdapter(_sqlcommand);
DataTable _datatable = new DataTable();
_sqldataadapter.Fill(_datatable);
foreach (DataRow _datarow in _datatable.Rows)
{
txtUsername.Text = _datarow["Username"].ToString();
txtPassword.Text = _datarow["Password"].ToString();
}
}
}