0

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

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

  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"

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

4

1 回答 1

1

我在这里寻找的答案是:

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

这是我最终使用的代码:

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

在本例中,“mydata”是一个数据视图。它是创建绑定源的对象。我使用该数据视图中的数据表对象将列名提取到一个数组中。

于 2013-11-12T17:21:39.197 回答