在VB.NET中将DataSource设置为Datarows数组

时间:2017-06-21 14:59:35

标签: vb.net datatable

我很难找到解决我遇到的问题的任何事情。这段代码工作得很好。

    cmbEmployee.DisplayMember = "FullName"
    cmbEmployee.ValueMember = "EmployeeID"
    cmbEmployee.DataSource = ds.Tables("Employees")

除非我想过滤掉非活动员工并重新订购,所以我将其更改为:

    Dim dr() As DataRow = ds.Tables("Employees").Select("Active=True", "FirstName, LastName")
    cmbEmployee.DisplayMember = "FullName"
    cmbEmployee.ValueMember = "EmployeeID"
    cmbEmployee.DataSource = dr

然而,组合框中显示的不是FullName,它只在每个项目中显示System.Data.DataRow。这看起来应该非常简单。任何人都可以向我解释我错过了什么?

如果重要的话,我正在使用Visual Studio 2017和.NET Framework 4.6.1。

1 个答案:

答案 0 :(得分:1)

您可以将选定的行复制到新的DataTable并绑定到:

cmbEmployee.DataSource = dr.CopyToDataTable()