在我的表单中,我有一个DataGridView
绑定到一个BindingSource
有DataSet
as的 a DataSource
。我在表单上还有一些 TextFields 和 ComboBoxes,它们DataSet
通过BindingSource
. 这个想法是,在选定行的列中的值DataGridView
反映在窗体上的其他控件中。也许我让它听起来有点复杂,但连接 TextField 以及绑定到数据集中表的 ComboBox 相当容易。
我的问题是,这次我想ComboBox
从数组中设置项目,而不是从DataSet
. 这是我尝试过的:
Me.ComboBox.DataBindings.Add(New System.Windows.Forms.Binding("SelectedValue", Me.TblBindingSource, "ColumnName", True))
Dim ItemArray(2) As String
ItemArray(0) = ""
ItemArray(1) = "Default"
ItemArray(2) = "User-set"
ComboBox.DataSource = ItemArray
现在,这似乎部分工作,因为ComboBox
正确填充,我可以选择一个值,它出现在DataGridView
. 但是当我更改DataGridView
. 该列("ColumnName")
是一个ComboBoxColumn
以上面显示的方式获取其项目列表的列,并且它可以按预期工作。
如果不清楚;我有几个具有类似功能的组合框,但它们绑定到 a 中的列DataTable
,如下所示:
Me.ComboBox1.DataBindings.Add(New System.Windows.Forms.Binding("SelectedValue", Me.Tbl1BindingSource, "WiDMethodX", True))
Me.ComboBox1.DataSource = Me.Tbl2BindingSource
Me.ComboBox1.DisplayMember = "SomeColumn"
Me.ComboBox1.ValueMember = "SomeColumn"
如果重要,则DataSet
来自Access Database
.