Скопируйте определенные столбцы DataSet в другой DataSet в C # - PullRequest
2 голосов
/ 25 июня 2011

Мне нужна помощь в копировании определенных столбцов из одного набора данных в другой набор данных в C #.Отображение для столбцов хранится в файле XML.

Предположим, у меня есть исходный набор данных со столбцами -

calldate, 
percent, 
value

и целевой набор данных со столбцами -

name,
amount

Файл сопоставления xml содержит столбцы из исходного набора данныхи имена столбцов назначения.Атрибут Exclude помогает определить, будет ли скопирован столбец или нет.XML:

<data>
  <column name="calldate" destination="name" exclude="false" />
  <column name="percent" destination="" exclude="true" />
  <column name="value" destination="amount" exclude="false" />
</data>

Как скопировать столбцы calldate и value из исходного набора данных в name и amount столбцы конечного набора данных соответственно?Примечание: типы данных будут одинаковыми - строковые и двойные.В настоящее время я не обеспокоен частью XML.Я позабочусь об этом, когда выясню, как скопировать определенные столбцы в соответствующий столбец в наборе данных назначения.

1 Ответ

1 голос
/ 25 июня 2011

Например, если dt таблица, с которой вы работаете,

var newTable = new DataTable();
newTable.Columns.Add("name");
newTable.Columns.Add("amount");
foreach (var row as DataRow in dt.Rows) {
    newTable.Rows.Add(new object[] { row["calldate"], row["value"} });
}
...