![](/img/trans.png)
[英]How to copy specific rows from one datatable to another based on a specific datarow
[英]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.