.net 从DataTable创建带有ComboBoxColumn的DataGridView
我有一个.net 从DataTable创建带有ComboBoxColumn的DataGridView,.net,vb.net,datagridview,datatable,datagridviewcombobox,.net,Vb.net,Datagridview,Datatable,Datagridviewcombobox,我有一个DataGridView,我想以编程方式填充它。通过创建DataTable并通过BindingSource将其绑定到DataGridView,将DataGridView中的列创建为TextBoxColumns。下面是一个代码示例: Dim dataTable As DataTable = New DataTable() dataTable.Columns.AddRange(New DataColumn() {New DataColumn("TextBoxColumn1"),
DataGridView
,我想以编程方式填充它。通过创建DataTable
并通过BindingSource
将其绑定到DataGridView
,将DataGridView
中的列创建为TextBoxColumns
。下面是一个代码示例:
Dim dataTable As DataTable = New DataTable()
dataTable.Columns.AddRange(New DataColumn() {New DataColumn("TextBoxColumn1"),
New DataColumn("TextBoxColumn2"),
New DataColumn("ComboBoxColumn"),
New DataColumn("TextBoxColumn3"),
New DataColumn("TextBoxColumn4")})
Dim bindingSource As BindingSource = New BindingSource
bindingSource.DataSource = dataTable
dataGridView.DataSource = bindingSource
在DataGridView
中,使列成为ComboBoxColumn
的最佳方法是什么
我可以在
DataGridView
中手动创建ComboBoxColumn
,然后将其绑定到DataColumn
,但我想知道是否有更好的方法,比如在DataColumn
中设置属性或类似的方法。遵循@codesluth的建议,我将自动生成的DataGridViewTextBoxColumn
替换为DataGridComboxColumn
,如下所示:
Dim comboBoxColumn As DataGridViewComboBoxColumn = New DataGridViewComboBoxColumn()
comboBoxColumn.DataPropertyName = "ComboBoxColumn"
comboBoxColumn.DataSource = comboBoxBindingSource
comboBoxColumn.DisplayMember = "ComboBoxColumn"
comboBoxColumn.ValueMember = "ComboBoxColumn"
DataGridView.Columns.RemoveAt(COLUMN_INDEX)
DataGridView.Columns.Insert(COLUMN_INDEX, comboBoxColumn)
显示如何向
dataGridView
添加列。谢谢,但这并不完全是我想要的,因为dataGridView
中的列是在网格绑定到数据时创建的;我不会自己添加,当然,我可以稍后替换自动生成的列。我建议您这样做。按名称获取它,然后将其替换为新的DataGridViewComboxColumn。您应该接受此答案,即使它是您自己的,以帮助显示它已解决。谢谢