组合框绑定 - 在bindingsource中显示字段名称

时间:2013-11-12 14:54:26

标签: vb.net combobox bindingsource

我正在尝试使用bindingsource作为组合框的数据源。组合框的显示和值成员将是我的bindingsource数据源中的字段名称。

目前,我使用填充数据表并将其分配给组合框的数据源的过程。因为我已经使用数据填充了bindingsource,所以只需设置绑定就可以了,而不是继续使用下面的代码:

  Dim dtfields As New DataTable
    dtfields = mySqlref.sqlobj.SelectData(String.Format("select column_name from information_schema.columns where table_name = '{0}' order by ordinal_position", mydata.Table), SqlLibrary.SqlLibrary.SelectType.datatable)

    cboField.DataSource = dtfields
    cboField.ValueMember = "column_name"
    cboField.DisplayMember = "column_name"

有人能指出我正确的方向吗?谢谢你的阅读。

1 个答案:

答案 0 :(得分:0)

我在这里寻找的答案是:

如果您的字段名已经在您的绑定源中,那么您可以使用linq创建这些字段名的数组,而不是使用单独的查询来调用数据库中的字段名称

这是我最终使用的代码:

 Dim arraynames = (From x As DataColumn In mydata.Table.Columns Select x.ColumnName).ToArray()
    cboField.DataSource = arraynames

在这个例子中" mydata"是一个数据视图。它是创建绑定源的对象。我使用数据视图中的datatable对象将列名称提取到数组中。