繁体   English   中英

使用DataTable中的ComboBoxColumn创建DataGridView

[英]Create a DataGridView with ComboBoxColumn from a DataTable

我有一个DataGridView ,我想以编程方式填写。 通过创建一个DataTable ,并通过结合它BindingSourceDataGridView ,在列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

使“ComboBoxColumn”列成为DataGridViewComboBoxColumn的最佳方法是什么?

我可以手动在DataGridView创建一个ComboBoxColumn ,然后将其绑定到DataColumn ,但我想知道是否有更好的方法,比如在DataColumn设置属性或类似的东西。

按照@ Codesleuth的建议,我将自动生成的DataGridViewTextBoxColumn替换为DataGridComboBoxColumn如下所示:

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)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM