У меня есть DataGridViewComboBoxCell и DataTable. Данные в таблице I связаны с DataGridViewComboBoxCell с помощью DataSource и установки ValueMember и DisplayMember.
private void Form1_Load(object sender, EventArgs e)
{
DataGridViewComboBoxCell comboBoxCell = new DataGridViewComboBoxCell();
dataGridView1.Rows[0].Cells[0] = comboBoxCell;
comboBoxCell.DataSource = dataTable;
comboBoxCell.ValueMember = "ID";
comboBoxCell.DisplayMember = "Item";
}
Как я могу программно установить значение в ячейке при загрузке формы? В простом ComboBox я знаю свойство SelectedIndex. Я пробовал comboBoxCell.Value =...; но это дает исключение. И пытался
private void dataGridView1_CellFormatting(object sender,
DataGridViewCellFormattingEventArgs e)
{
e.Value = 1;
}
Он устанавливает новое значение в ячейке, но мне нужно выбрать значение.
Форма загружена, а у меня пустая ячейка.
И некоторые данные в ComboBox.
Когда я помещаю этот код dataGridView1.Rows[0].Cells["ComboColumn"].Value = "1";
сразу после comboBoxCell.DisplayMember =... (см. выше ), он работает нормально.
Значение «1» в столбце «Идентификатор» соответствует значению «Второй» в столбце «Элементы». Итак, я получаю правильный результат.
Извините за мой английский и код новичка:)