У меня есть DatagridviewComboBoxColumn, заселенный из DataTable, и всякий раз, когда я нажимаю на любую часть DataGridViewComboBoxCell, первое значение списка отображается, как было нажато. Однако, когда я перемещаю фокус в другую ячейку, не выбирая значения, она исчезает.VB.Net DatagridviewComboBoxColumn Поведение CellClick
Странно, поведение несовместимо, если я применяю значения ComboBox с помощью .Items.Add (""). Может кто-нибудь пролить свет на эту проблему. Ниже приведен пример кода и рисунок:
Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
DataGridView1.Rows.Add()
DataGridView1.Rows.Add()
''DataGridViewComboBoxColumn1
DataGridViewComboBoxColumn1.Items.Add("Name1")
DataGridViewComboBoxColumn1.Items.Add("Name2")
'DataGridViewComboBoxColumn2
Dim dt As New DataTable
dt.Columns.Add("id")
dt.Columns.Add("name")
dt.Rows.Add("1", "Name1")
dt.Rows.Add("2", "Name2")
With DataGridViewComboBoxColumn2
.ValueMember = dt.Columns(0).ColumnName
.DisplayMember = dt.Columns(1).ColumnName
.DataSource = dt
End With
End Sub
End Class
Это звучит как «обычное» поведение. Его нужно нажать. – noidea
Комбинированные столбцы имеют одинаковые настройки, но заполняются по-другому. Столбец1 не показывает никаких значений, пока не появится раскрывающееся меню. В то время как столбец2, который заполняется через .DataSource, мигает первым значением, даже если вызывается ниспадающее меню. Как я уже сказал, он только мигает, но не выбирает его. –
Я тестировал его, и он отлично работает. Но вы должны щелкнуть элемент, который хотите, а не просто «выбрать» его. Это проблема пользователя, а не плохое поведение. – noidea