我在2010中使用vb.NET。我找到了一个如何将ComboBox添加到DataGridView单元格的示例,并将其添加到代码中。当我运行代码并添加一个新行时,ComboBox是可见的,但是它中没有显示值,并且不会下拉。
我是不是漏掉了密码里的东西?DataGridView需要设置某些属性吗?
dgvFiles.Rows.Add({"Cell1","Cell2"})
Dim gridComboBox As New DataGridViewComboBoxCell
gridComboBox.Items.Add("A") 'Populate the Combobox
gridComboBox.Items.Add("B") 'Populate the Combobox
gridComboBox.Items.Add("C") 'Populate the Combobox
dgvFiles(2, dgvFiles.Rows.Count - 1) = gridComboBox编辑:
我在设计时设置了四列,这不是问题所在。问题是,我已经将DataGridView设置为“EditProgrammatically”。我最初将其更改为阻止用户编辑文本单元格,但显然,它阻止了ComboBoxes的删除。
我很感激大家给出的答案。我很抱歉,我忘记提到我在设计时设置了四列,这个问题是由于我没有实现EditProgrammatically设置而造成的。
发布于 2017-09-20 12:53:20
你的代码几乎没问题。所有的东西都会掉下来。可以在列表中显示默认值。
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
dgvfiles.Columns.Add("Column1", "Column 1")
dgvfiles.Columns.Add("Column2", "Column 2")
dgvfiles.Columns.Add("Column3", "Column 3")
dgvfiles.Columns.Add("Column4", "Column 4")
dgvfiles.Rows.Add({"Cell1", "Cell2"})
Dim gridComboBox As New DataGridViewComboBoxCell
gridComboBox.Items.Add("A") 'Populate the Combobox
gridComboBox.Items.Add("B") 'Populate the Combobox
gridComboBox.Items.Add("C") 'Populate the Combobox
gridComboBox.Value = gridComboBox.Items(0)
dgvfiles(2, dgvfiles.Rows.Count - 2) = gridComboBox
End Sub
Private Sub dgvfiles_CellBeginEdit(sender As Object, e As DataGridViewCellCancelEventArgs) Handles dgvfiles.CellBeginEdit
If e.ColumnIndex = 2 Then
'Do something
Else
e.Cancel = True
End If
End Sub

https://stackoverflow.com/questions/46322016
复制相似问题