繁体   English   中英

如何从数据行复制到具有特定行的另一个数据表

[英]How can i copy from datarow to another datatable with specific row

我有这段代码,但它只是添加到新数据表的第一列中。 如何指定要添加的列。

        for(int i = 0; i < dt.Rows.Count; i++)
        {
            newdt.Rows.Add(dt.Rows[i][1]);
        }

如果您希望不能使用Add来传递值,但是可以使用SetField

for(int i = 0; i < dt.Rows.Count; i++)
{
    DataRow addedRow = newdt.Rows.Add();
    addedRow.SetField(1, dt.Rows[i][1]);
}

或者,您可以使用“经典”方式:

addedRow[1] = dt.Rows[i][1];

我更喜欢SetField而不是索引器,因为如果我想保存空值,则不需要摆弄DbNull.Value 您可以简单地传递一个可以为null的类型,例如int?

下面的代码演示了如何将特定的行复制到另一个表。

//Created new table
DataTable dt1 = new DataTable("dt1");
dt1.Columns.Add("Id", typeof(int));
dt1.Columns.Add("Name");

//Added dummy data
dt1.Rows.Add(1, "Abc");
dt1.Rows.Add(2, "Def");

//Clone table #2 from table #1
DataTable dt2 = dt1.Clone();
dt2.TableName = "dt2";

//Copy table #1 rows to table #2
for (int i = 0; i < dt1.Rows.Count; i++)
{
    DataRow drNew = dt2.NewRow();
    drNew.ItemArray = dt1.Rows[i].ItemArray;
    dt2.Rows.Add(drNew);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM