将数据表的各个部分合并为一个

本文关键字:一个 合并 数据表 个部 | 更新日期: 2023-09-27 18:03:37

我有一堆数据表(在一个列表中),都有50列。

假设我想建立一个包含列20-29和40-49的新数据表。然后将每个数据表中的所有行复制到新表中。

DataTable.Merge()将不能工作,因为我只想要列的子集。

实现这个目标的最好方法是什么?

将数据表的各个部分合并为一个

我认为在这些情况下,简单的老式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);
    }
}

注意我还没有编译代码