日期:2014-05-17  浏览次数:20722 次

请问,如何复制一个DataRow
如何把一个datatable中的行复制到另一个datatable中?直接Rows.Add肯定是不行,
难道还是创建一个DataRow,然后再给每一列赋值吗?多麻烦啊,

------解决方案--------------------
如果datatable结构一样的话
C# code

 dt2.ImportRow(dt1.Rows[n]);

------解决方案--------------------
用DataTable的ImportRow方法:
C# code
        DataTable dt = new DataTable();
        dt.Columns.Add("学号", typeof(string));
        dt.Rows.Add("123");
        dt.Rows.Add("456");

        DataTable dt2 = dt.Clone();
        dt2.Rows.Add();
        dt2.ImportRow(dt.Rows[1]);

------解决方案--------------------
前提两个个datatable的列名相同

datatable.importRow(dt1.row);


------解决方案--------------------
importRow
或者自己new一个row,然后从源数据中选取你需要的列,进行填充
------解决方案--------------------
private DataTable GetNewDataTable(DataTable dt,string condition)
{
DataTable newdt = new DataTable();
newdt=dt.Clone();
DataRow[] dr = dt.Select(condition);
for(int i=0;i<dr.Length;i++)
{
newdt.ImportRow((DataRow)dr[i]);
}
return newdt;
}