将特定行从一个数据表过滤到其他数据表

时间:2012-08-24 07:05:12

标签: vb.net datatable rowfilter

我正在使用Windows应用程序。我有两个名为“dt1”和“dt2”的数据表。

在“dt1”中我有一些像

这样的行
ID Name Group
1  A1    G1
2  A2    G1
2  A2    G2
3  A3    G2
3  A3    G1
4  A4    G2
5  A5    G2 

AND在第二个表格“dt2”中,

ID NAME  
1  A1
2  A2
3  A3
4  A4
5  A5
6  A6

现在我希望过滤行“dt1”中的“dt2”行说出id-1,2,它也出现在“dt2”中。

所以基本上我想从其他数据表中过滤一个数据表的行。

任何人都可以知道如何获得这个吗?

1 个答案:

答案 0 :(得分:0)

最有效和最简单的方法是使用Linq-To-DataSetjoin两个表:

Dim result = From r1 In dt1.AsEnumerable()
             Join r2 In dt2.AsEnumerable()
             On r1.Field(Of Int32)("ID") Equals r2.Field(Of Int32)("ID")
             Select r2

如果您想要结果,那么IEnumerable(Of DataRow)DataTable

Dim tblResult = result.CopyToDataTable()