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