2010-10-21 5 views
2

Я заполнил свой набор данных из нескольких xml-файлов в C# .Net. В результате у меня есть набор данных, содержащий в нем несколько DataTables. Все они имеют по два столбца, а именно «ID» и «Name». Эти таблицы данных могут содержать строки для одинаковых идентификаторов actoss всех таблиц.Как объединить данные из данных datatables

Для примера:

DataTable 1 
------------ 
ID Name1 
1 S1 
2 S2 
4 S4 

DataTable 2 
------------ 
ID Name2 
1 D1 
2 D2 
3 D3 

Моя цель состоит в том, чтобы объединить все данные в один DataTable, как показано ниже

FinalTable 
----------- 
ID Name1 Name2 
1 S1  D1 
2 S2  D2 
3   D3 
4 S4  

Есть ли способ для достижения этой цели? Возможно использование отношений, DataViews ... просто гадание.

Заранее спасибо ..

+0

Является ли это на отдельно таблице? Вы можете использовать Left join в своем запросе. Вместо этого используйте Linq. – Crimsonland

ответ

4

Попробуйте DataTable.Merge.

+0

Может работать, если вы можете использовать «Name1» и «Name2» в таблицах src. –

+0

Будет ли он совпадать с идентификатором, когда будут объединены две таблицы? –

+0

@Henk: Я использовал DataTable.Merge, но он добавляет дополнительные строки для второй таблицы. он не соответствует идентификаторам и поддерживает подсчет строк в первой таблице. –

2

Самый простой способ объединить функции DataTable, и вы также можете использовать Merge для объединения результатов двух наборов данных также смотрите здесь at MSDN

+0

Я использовал DataTable.Merge, но он добавляет дополнительные строки для второй таблицы. он не соответствует идентификаторам и поддерживает подсчет строк в первой таблице. –