Vb.net DataGridView组合框列
我有一个由数据集填充的datagridview。我试图添加3列,其中包含comboboxs和它们自己的数据源,这也是一个数据集 在这里删除CRUD控件是我尝试添加combobox列的方式Vb.net DataGridView组合框列,vb.net,datagridview,combobox,datatable,Vb.net,Datagridview,Combobox,Datatable,我有一个由数据集填充的datagridview。我试图添加3列,其中包含comboboxs和它们自己的数据源,这也是一个数据集 在这里删除CRUD控件是我尝试添加combobox列的方式 Private Sub GenComboBoxColumns() Dim priorityTypesDS As New DataSet() Dim serviceBoardsDS As New DataSet() Dim serviceTypesDS As New DataSet()
Private Sub GenComboBoxColumns()
Dim priorityTypesDS As New DataSet()
Dim serviceBoardsDS As New DataSet()
Dim serviceTypesDS As New DataSet()
priorityTypesDS = _objhost.GetDataSet("SELECT DISTINCT abc FROM foo ORDER BY abc")
serviceBoardsDS = _objhost.GetDataSet("SELECT DISTINCT abc FROM bar ORDER BY abc")
serviceTypesDS = _objhost.GetDataSet("SELECT DISTINCT abc, xyz FROM foobar ORDER BY xyz")
If dataGridView_monitorMapping IsNot Nothing AndAlso dataGridView_monitorMapping.Rows.Count > 0 Then
Dim col_priority As New DataGridViewComboBoxColumn
Dim col_serviceBoard As New DataGridViewComboBoxColumn
Dim col_serviceType As New DataGridViewComboBoxColumn
col_priority.DataSource = priorityTypesDS
col_serviceBoard.DataSource = serviceBoardsDS
col_serviceType.DataSource = serviceTypesDS
dataGridView_monitorMapping.Columns.AddRange(col_priority, col_serviceBoard, col_serviceType)
End If
端接头
然而,我实际上生成了许多列,这些列在datagridview中包含的视图区域中超过7列!当他们的年龄应该只有3岁
为了帮助您理解我试图实现的目标,请看下面的示例。想象一个组合框及其相应的选项,例如foo*Bar*FooBar*=>一个包含3个选项的组合框
---------------------------------------------------------------------------------
|Apple | (plant*animal) | (blue*green*red*etc) | (smooth*rough*) |
|Steak | (plant*animal) | (blue*green*red*etc) | (smooth*rough*) |
|Peach | (plant*animal) | (blue*green*red*etc) | (smooth*rough*) |
---------------------------------------------------------------------------------
一如既往;非常感谢您的帮助= 所以问题是它向网格中添加的列比预期的要多?额外的列是重复的还是其他的?您从何处调用GENCOMBOX列?GENCOMBOX在多个位置被调用;每当主datagridview被同步清除并重新填充新数据时,需要在同步时将列重新创建到现在已清除的表中。我不仅得到了比我需要的更多的专栏;它们甚至没有填充在内部表中包含正确信息的数据集。我打赌这是一个循环问题;不过,我认为comboboxs至少会填充正确的数据。我会给出列名称,并在添加它们之前检查它们是否已经存在于网格中,以确保它们只加载一次。您可以尝试设置DataGridViewComboBoxColumn的.DisplayMember和.ValueMember属性,看看这是否有助于填充。当您说“未填充”时,它们是否没有值,或者值是否错误?