0

У меня есть DataGridView с привязкой данных с DataGridViewComboBoxColumn. Если значение combobox равно null, я хочу отобразить текст. Я не хочу добавлять нулевой элемент в список данных, поскольку мне нужно отображать разные тексты в каждой строке datagridview. Как я могу достичь этого, используя элемент управления datagridview по умолчанию?Как отобразить текст в DataGridViewComboBoxColumn, когда значение базы данных равно null

ответ

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; 
     } 
    } 
+0

Если изменить значение то, что не находится в списке DataBound тогда я получаю сообщение об ошибке. – Daniel

+0

Любые другие идеи? Проблема в том, что DataGridViewComboBoxCell не имеет текстового свойства. Значение представляет собой привязку данных, поэтому нет возможности назначить ему текст. – Daniel

+0

Не могли бы вы попробовать, если он работает, если e.FormattingApplied = true; установлен? (также отредактировал исходное сообщение, чтобы добавить его) –

 Смежные вопросы

  • Нет связанных вопросов^_^