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

发布于 2024-11-26 10:08:02 字数 175 浏览 1 评论 0原文

我有一堆数据表(在列表中),全部有 50 列。

假设我想构建一个包含第 20-29 列和第 40-49 列的新数据表。 然后将每个数据表中的所有行复制到新表中。但仅限于那些选定的列。

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

实现这一目标的最佳方法是什么?

I have a bunch of data tables (In a list), all with 50 columns.

Say I want to build a new data table with columns 20-29 and 40-49.
and then copy all rows from each data table into the new one. but only those selected columns.

DataTable.Merge() will not work since I only want a subset of the columns.

What's the best way to achieve this goal?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

故事灯 2024-12-03 10:08:02

我认为简单的普通旧 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);
    }
}

注意
我还没有编译代码。

I think simple plain old for loops should do the trick under these conditions

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);
    }
}

Note
I haven't compiled the code.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文