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

时间:2015-03-28 00:10:39

标签: vb.net datagridview datagridviewcomboboxcell

我的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会在不显示下拉列表的情况下呈现。所以这项任务似乎并没有发生。我错过了什么?

1 个答案:

答案 0 :(得分:0)

你做错了。

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