gpt4 book ai didi

database - vb.net - 带有 BindingSource 和不同数据源的 ComboBox

转载 作者:搜寻专家 更新时间:2023-10-30 20:19:58 27 4
gpt4 key购买 nike

在我的表单中,我有一个 DataGridView 绑定(bind)到一个 BindingSource,它有一个 DataSet 作为 DataSource。我在表单上还有一些 TextFields 和 ComboBox,它们通过 BindingSource 绑定(bind)到 DataSet 中的不同列。这个想法是 DataGridView 中选定行的列中的值反射(reflect)在窗体上的其他控件中。也许我说得有点复杂,但连接 TextFields 以及绑定(bind)到数据集中表格的 ComboBox 相当容易。

我的问题是,这次我想从数组而不是 DataSet 中的表中设置 ComboBox 中的项目。这是我试过的:

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,它以上面显示的方式获取其项目列表,并且按预期工作。

如果不清楚;我有几个具有类似功能的组合框,但它们绑定(bind)到 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

最佳答案

SelectedValueValueMember 属性结合使用,但由于您的数组列表没有描述性字段,因此无法使用。

尝试使用 SelectedItem 进行绑定(bind):

Me.ComboBox.DataBindings.Add(New Binding("SelectedItem", _
Me.TblBindingSource, "ColumnName", True))

关于database - vb.net - 带有 BindingSource 和不同数据源的 ComboBox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11434556/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com