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

在VB.NET中将DataSource设置为Datarows数组,vb.net,datatable,Vb.net,Datatable,我很难找到任何解决问题的方法。这段代码运行得很好 cmbEmployee.DisplayMember = "FullName" cmbEmployee.ValueMember = "EmployeeID" cmbEmployee.DataSource = ds.Tables("Employees") 除了我想过滤掉不活跃的员工,并对他们重新排序,所以我将其更改为: Dim dr() As DataRow = ds.Tables("Employees").Sele

我很难找到任何解决问题的方法。这段代码运行得很好

    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
但是,组合框中显示的不是全名,它只是在每个项目中显示
System.Data.DataRow
。这看起来应该很简单。谁能给我解释一下我错过了什么


如果有必要,我正在使用Visual Studio 2017和.NET Framework 4.6.1。

您可以将所选行复制到新的数据表并绑定到该数据表:

cmbEmployee.DataSource = dr.CopyToDataTable()

您可以尝试将行复制到一个新的数据表-
cmbeployee.DataSource=dr.CopyToDataTable()
-看看这是否有帮助。@Mark-我确实尝试过,得到了完全相同的结果。然而,我用了另一种方式。你的方法奏效了。如果你想加上这个作为答案,我会把它标记为最佳答案。谢谢