将范围行从一个DataTable添加到另一个DataTable

时间:2013-12-20 10:13:01

标签: c# .net datatable

拥有一个DataTable,我需要创建另一个具有第一个子行范围的行。所以我希望第二个DataTable从第一个开始具有行n到n + y。我该怎么办呢?

DataTable limitData = new DataTable();
for (int rowIndex = startingRow; rowIndex < endingRow; rowIndex++)
{
    limitData.Rows.Add(columnarData.Rows[rowIndex].ItemArray);
}

给出错误:&#34;输入数组比此表中的列数长。&#34;

代码在C#.NET 4.0

3 个答案:

答案 0 :(得分:3)

试试这个,让我听听是否有效

DataTable limitData =limitData.Clone();
for (int rowIndex = startingRow; rowIndex < endingRow; rowIndex++)
{
    limitData.Rows.Add(columnarData.Rows[rowIndex].ItemArray);
}

DataTable limitData =limitData.Clone();
foreach (DataRow dr in columnarData.Rows)
{
    limitData.Rows.Add(dr);
}

答案 1 :(得分:0)

试试这个

for (DataRow r in dt.Rows)
    {
       if(some condition))
       {
          extractedData.ImportRow(r);
       }
    }

答案 2 :(得分:0)

Union() 也有效:

dt1 = dt1.AsEnumerable().Union(dt2.AsEnumerable()).CopyToDataTable();

引用自 this post