Отфильтровать определенную строку из одной таблицы данных в другую таблицу данных

Я использую приложение 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 

И во второй таблице "dt2",

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

Теперь я хочу, чтобы строки «dt2» из отфильтрованной строки «dt1» имели идентификатор - 1,2, который также присутствует в «dt2».

Итак, в основном мне нужны строки для одной таблицы данных из другой таблицы данных, которая отфильтрована.

Может ли кто-нибудь дать представление о том, как это получить?


person Brijesh Patel    schedule 24.08.2012    source источник


Ответы (1)


Наиболее эффективным и простым было бы использование Linq-To-DataSet и join обеих таблиц:

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()
person Tim Schmelter    schedule 24.08.2012
comment
спасибо Тим за быстрый ответ. но я хочу отфильтровать строку в dt1, а затем получить эти строки из dt2. - person Brijesh Patel; 24.08.2012
comment
@BrjeshPatel: Как вы хотите фильтровать dt1? Вы также можете использовать Linq(Where). - person Tim Schmelter; 24.08.2012