我正在尝试使用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"
有人能指出我正确的方向吗?谢谢你的阅读。
答案 0 :(得分:0)
我在这里寻找的答案是:
如果您的字段名已经在您的绑定源中,那么您可以使用linq创建这些字段名的数组,而不是使用单独的查询来调用数据库中的字段名称
这是我最终使用的代码:
Dim arraynames = (From x As DataColumn In mydata.Table.Columns Select x.ColumnName).ToArray()
cboField.DataSource = arraynames
在这个例子中" mydata"是一个数据视图。它是创建绑定源的对象。我使用数据视图中的datatable对象将列名称提取到数组中。