我有一堆数据表(在列表中),全部有50列。
假设我想构建一个包含20-29和40-49列的新数据表。 然后将每个数据表中的所有行复制到新数据表中。但只有那些选定的列。
DataTable.Merge()不起作用,因为我只想要列的一部分。
实现这一目标的最佳方式是什么?
答案 0 :(得分:1)
我认为简单的旧的for循环应该在这些条件下完成这个技巧
DataTable table = new DataTable();
DataTable existing = listOfTables[0];
for(int i = 20; i < 30; i ++)
{
table.Columns.Add(existing.Column[i].Name;
table.Columns.Add(existing.Column[i + 20].Name;
}
foreach(DataTable table in listOfTables)
{
foreach(DataRow row in table.Rows)
{
DataRow newRow = table.NewRecord();
foreach(Column column in table.Columns)
{
newRow[column.Name] = row[column.Name];
}
table.Rows.Add(row);
}
}
注意强> 我没有编译代码。