Данные DataGridView не отображаются в таблице данных без значения. в приведенном ниже примере первая строка имеет допустимое значение, так же как и третья строка. Вторая строка прекрасна, но не показывает значения, в то время как последняя строка имеет недопустимые данные, поэтому нам нужно использовать утверждение здесь.
Примечание. Я использовал DayNames, чтобы указать названия дней недели, в которых я обычно использую собственное пространство имен, как в this code example.
Любые способы надеяться, что это поможет.
Imports System.Globalization
Public Class Form1
''' <summary>
''' One column added in the designer
''' Form load I add a ComboBox with weekday names for data source
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
DataGridView1.Columns.Add(
New DataGridViewComboBoxColumn With
{
.DataSource = CultureInfo.CurrentCulture.DateTimeFormat.DayNames,
.DisplayStyle = DataGridViewComboBoxDisplayStyle.Nothing,
.Name = "DayColumn",
.HeaderText = "Week day",
.SortMode = DataGridViewColumnSortMode.NotSortable
}
)
DataGridView1.Rows.Add(New Object() {"AAA", "Friday"})
DataGridView1.Rows.Add(New Object() {"BBB"})
DataGridView1.Rows.Add(New Object() {"CCC", "Monday"})
DataGridView1.Rows.Add(New Object() {"DDD", "XYZ"})
End Sub
Private Sub DataGridView1_DataError(
sender As Object,
e As DataGridViewDataErrorEventArgs) Handles DataGridView1.DataError
If e.Exception.Message = "DataGridViewComboBoxCell value is not valid." Then
Console.WriteLine("Not valid week name [{0}]", DataGridView1.Rows(e.RowIndex).Cells(e.ColumnIndex).Value)
e.Cancel = True
End If
End Sub
End Class
Ваш код кажется ОК. Вероятно, вы добавляете столбец к другому 'DataGridView', который вы видите. Например, у вас может возникнуть проблема с ссылкой на форму (изменение другой формы, чем та, которую вы должны изменить) –
@RezaAghaei Нет, я вижу комбобокс в DataGridView под названием «DoctorDataView», но как только я нажимаю на него, список не отображается и похоже, что поле со списком пустое от данных! –
Каждая вещь с этим кодом в порядке. Проблема в другом месте. Вы должны создать простую форму, содержащую «DataGridView», и протестировать ее самостоятельно, и вы увидите, что с этим фрагментом кода нет проблем. –