我正在编写简单的vb app,我想要做的是将数据库中的值(以数据源形式提供)传递给我的comboBox列的默认值
这就是我现在所做的:
将数据传递给DataGridView
DataGridView2.DataSource = source
工作得很好,它从数据库中获取数据并填充整个表。
问题是:我想将其中一列作为ComboBox。但我也想将默认值设置为数据库中的值。这是我如何制作组合框列:
Dim comboboxColumn As New DataGridViewComboBoxColumn
comboboxColumn.Items.Add("sleep")
comboboxColumn.Items.Add("stay")
comboboxColumn.Items.Add("Go")
comboboxColumn.Name = "state"
' comboboxColumn.DefaultCellStyle.NullValue //WHAT can I do HERE?
DataGridView2.Columns.Add(comboboxColumn)
你们可以分享一些想法吗?
答案 0 :(得分:0)
您可以创建一个DataTable并将其设置为组合框。然后,您必须设置DataGridView.AutoGenerateColumns = False
并手动创建其他列。在下面的示例中,我自己创建了dataTable,但它可能是来自数据库查询的DataTable.Load
Dim dt As New DataTable()
With dt
.Columns.Add("Value", GetType(String))
.Rows.Add("sleep")
.Rows.Add("stay")
.Rows.Add("go")
.AcceptChanges()
End With
With comboboxColumn
.HeaderText = "State"
.DataSource = dt
.DataPropertyName = "STATE"
.DisplayMember = "Value"
.ValueMember = "Value"
End With