У меня тоже была эта проблема. Я временно решил это довольно грязно.
Свойство Value объекта DataGridViewComboBoxCell ДОЛЖНО быть одним из значений, содержащихся в свойстве Items (или связанном DataSource)
Проблема заключалась в том, что, по какой причине я не знаю, список элементов ячейки (или ее источник данных, когда я пытался не вводить элементы вручную) был очищен, как только выполнение вошло в обработчик событий DataGridView.CellFormatting
для этой ячейки.
Мое грязное исправление заключалось в обработке события DataGridView.DataError
и заполнении (снова) DataGridViewComboBoxCell.Items на этом этапе.
Private Sub myDataGridView_DataError(ByVal sender As System.Object, _
ByVal e As System.Windows.Forms.DataGridViewDataErrorEventArgs) _
Handles dgvServicesToTransfer.DataError
'Dirty Fix
If e.ColumnIndex = myComboBoxColumn.Index Then
Dim row As DataGridViewRow = dgvServicesToTransfer.Rows(e.RowIndex)
' Fill in your DataGridViewComboBoxCell's Items here:
' ...
' ...
If allWentWell Then
' Cancel the exception
e.ThrowException = False
End If
End If
End Sub
End Class
PS: Извините за ответ VB.Net, если у вас есть проблемы с "переводом", просто спросите.