У меня есть DataGridView с привязкой данных с DataGridViewComboBoxColumn. Если значение combobox равно null, я хочу отобразить текст. Я не хочу добавлять нулевой элемент в список данных, поскольку мне нужно отображать разные тексты в каждой строке datagridview. Как я могу достичь этого, используя элемент управления datagridview по умолчанию?Как отобразить текст в DataGridViewComboBoxColumn, когда значение базы данных равно null
0
A
ответ
2
Вы можете использовать событие CellFormatting для изменения любого отображаемого значения:
//attach in code or via designer:
dataGridView1.CellFormatting += new DataGridViewCellFormattingEventHandler(dataGridView1_CellFormatting);
//example implementation:
void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
if (e.ColumnIndex == Column1.Index && e.Value==null)//where Column1 is your combobox column
{
e.Value = "Empty";
e.FormattingApplied = true;
}
}
Если изменить значение то, что не находится в списке DataBound тогда я получаю сообщение об ошибке. – Daniel
Любые другие идеи? Проблема в том, что DataGridViewComboBoxCell не имеет текстового свойства. Значение представляет собой привязку данных, поэтому нет возможности назначить ему текст. – Daniel
Не могли бы вы попробовать, если он работает, если e.FormattingApplied = true; установлен? (также отредактировал исходное сообщение, чтобы добавить его) –