为什么我不能将此 DataGridViewComboBoxCell 分配给我想要的单元格?

Why can't I assign this DataGridViewComboBoxCell to the cell I want?

我的 DataGridViewComboBoxCell 对象出现了一组奇怪的问题。仅供参考,我使用的是 Cell 而不是 Column,因为我的数据是按行而不是按列组织的。

我的第一个问题是我似乎无法正确分配给我的 DataGridView。当我在我的代码中直接赋值时没问题:

Dim MyDropDown As New DataGridViewComboBoxCell()
'Code here to populate dropdown
MyForm.DataGridView1(col, row) = MyDropDown

我 运行 在尝试使用过程做同样的事情时遇到了麻烦:

Dim MyDropDown As New DataGridViewComboBoxCell()
'Code here to populate dropdown
SetUpDataViewGridDropdown(MyDropDown, MyForm.DataGridView1(col, row))

。 . .

Public Sub SetUpDataViewGridDropdown(ByRef dd As DataGridViewComboBoxCell, _
                                 ByRef ddTarget As DataGridViewCell)

ddTarget = dd
'Do some more interesting stuff here
End Sub

我没有收到错误,但 DataGridView 呈现时未显示下拉列表。所以任务似乎没有发生。我错过了什么?

你做错了。

MyForm.DataGridView1(col, row) 获取当前在 DataGridView 中的单元格。所以你在你的函数中所做的只是改变ddTarget变量的引用对象,这是没有用的。

尝试这样的事情:

Public Sub SetUpDataViewGridDropdown(ByRef dd As DataGridViewComboBoxCell, _
                             ByVal rowIndex As Int, _
                             ByVal columnIndex As Int)

MyForm.DataGridView1(columnIndex, rowIndex) = dd 
'Do some more interesting stuff here
End Sub