从datatable填充组合框但更改数据表选定项

时间:2015-07-26 15:28:30

标签: vb.net datagridview combobox datatables

问题可能需要重新措辞,但这是问题,我使用的代码发布在

下面

一些背景,以便理解我有一个数据表绑定到datagridview与代码中的列名列名称我将只显示一部分列名称以节省空间,这部分工作,但它需要显示问题

 DataGridView3.DataSource = fieldDT
        DataGridView3.AutoGenerateColumns = True
        fieldDT.Columns.Add("Column Name", System.Type.GetType("System.String"))
        DataGridView3.Columns(0).Width = 123
        fieldDT.Columns.Add("Field", System.Type.GetType("System.String"))
        DataGridView3.Columns(1).Width = 86
        'columns 2 through 12 are here
        fieldDT.Columns.Add("Format", System.Type.GetType("System.String"))
        DataGridView3.Columns(13).Width = 45
        fieldDT.Columns.Add(" ", System.Type.GetType("System.String"))
        DataGridView3.Columns(14).AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill

我还有一个组合框,我希望在上面的数据表代码中填充列名,以便下一步显示

ComboBox10.DataSource = fieldDT
        ComboBox10.DisplayMember = "Column Name"
        ComboBox10.ValueMember = "Column Name"

组合框正确填充数据表

中的所有列名

现在是我需要一种解决方法的问题出现了,

如果我在datagridview中选择一行,它会改变组合框中的显示值,如果我在组合框中选择一个不同的值,它会更改datagridview中的选定行,我觉得这是默认设计,但希望它可以改变

虽然组合框需要列列表,并且如果有人在datagridview中添加了另一行,我需要更新它,我不希望它们以彼此改变的方式绑定。

组合框用于其他目的,需要选择一个可用的列名

1 个答案:

答案 0 :(得分:1)

我做了建议的更改,现在按预期工作 感谢

Dim DV_fields As DataView = fieldDT.DefaultView
ComboBox10.DataSource = DV_fields
ComboBox10.DisplayMember = "Column Name"
ComboBox10.ValueMember = "Column Name"
ComboBox10.Text = ""