DataGridViewComboBoxCell 不会掉落

DataGridViewComboBoxCell won't drop

我在 Visual Studio 2010 年使用 vb.NET。我找到了一个关于如何将 ComboBox 添加到 DataGridView 单元格的示例,并将其添加到我的代码中。当我 运行 代码并添加新行时,组合框是可见的,但它没有显示任何值,也不会下拉。

我是否遗漏了代码中的某些内容? 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 设置有这种效果。

您的代码几乎没问题。一切都掉下来了。您可以在列表中显示默认值。

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