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

populate combobox from datatable but change datatable selected item

问题可能需要改写,但这是问题所在,我正在使用的代码发布在下面

一些背景知识,以便理解我有一个绑定到数据网格视图的数据表,代码中的列名列名我将只显示一部分列名以保存 space,这部分有效,但它需要显示问题

 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"

组合框正确填充了数据表中的所有列名

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

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

尽管组合框需要该列列表并且如果有人向 datagridview 添加另一行则需要更新我不希望它们以相互更改的方式绑定。

组合框用于另一个目的,它需要 select 可用的列名称之一

我进行了建议的更改,现在可以按预期工作 谢谢

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