Как я могу получить выбранные значения строк 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();
            }
        }
    }
Другие вопросы по тегам