2010-02-18 1 views
1

У меня есть DataTable, который имел человек провод в это разные колонках изменили событие, ЭСТ ...Копирование DataTable без использования метода .Copy

Мне нужно, чтобы очистить таблицу из иногда и заполнить его с новыми данными, из другого типа данных.

Я просто использовал targetTable = sourceTable.Copy(), но тогда люди выше меня потеряли события, в которые они подключились.

Я думал, что могу написать метод расширения для DataTables, чтобы сделать это, поэтому я мог бы повторно использовать его, если ситуация снова возникла.

Часть, где я повесил трубку, заключается в том, что если я делаю это в общем виде, то я хочу полностью перенести схему из исходной таблицы в целевую таблицу.

Есть ли простой способ сделать это? Я смотрел только сравнение столбцов, чтобы убедиться, что имена/типы совпадают, но потом я подумал, что могу сделать его более надежным, если бы я мог передать схему.

Похоже, что есть способ передать схему с помощью ReadXMLSchema и WriteXMLSchema, но мне интересно, не является ли это способом eaiser.

ответ

0

Вы пробовали

YourTable.Clear() - только для удаления записей, но нет каких-либо других определений YourTable.Merge (TheOtherTable) - чтобы объединить записи из одной в другую.