#c# #.net #datagridview
#c# #.net #datagridview
Вопрос:
У меня есть DataGridView, в котором мне нужно программно выбрать ячейку определенного столбца. Но дизайнер автоматически генерирует это:
this.dataGridViewTextBoxColumn1.DataPropertyName = "NameIWant";
this.dataGridViewTextBoxColumn1.HeaderText = "NameIWant";
this.dataGridViewTextBoxColumn1.Name = "dataGridViewTextBoxColumn1";
И это ничего не делает.
DataGridViewColumn column = DataGridView.Columns["NameIWant"];
Есть ли способ получить столбец по его DataPropertyName или автоматически задать имя столбца?
DataGridView привязан к DataSet, который считывается с SQL Server.
Комментарии:
1. Ваш SQL-запрос может иметь в строке Name в качестве NameIWant. Затем, когда вы используете datagridview1.DataSource = ds, вы получаете нужное имя.
Ответ №1:
Добавить поле формы:
Dictionary<string, DataGridViewColumn> columnDictionary;
заполните его данными:
columnDictionary = dataGridView.Columns
.OfType<DataGridViewColumn>()
.ToDictionary(c => c.DataPropertyName, c => c);
Используйте его:
DataGridViewColumn column = columnDictionary["NameIWant"];