DataTable复制自身行

时间:2021-09-29 04:53:46

在我们工作的过程中有可能要使用DataTable产生一些重复数据(在不重复读取数据库的情况下)

无废话,直接上代码

DataTable复制自身一行(目的产生重复数据),已测试通过可直接复制

  /// <summary>
/// 创造DataTable并产生测试数据
/// </summary>
/// <returns></returns>
public static DataTable CreateDtData(int argRowNum)
{
DataTable dt = new DataTable();
dt.Columns.Add("ID");
dt.Columns.Add("Name");
dt.Columns.Add("Sex");
dt.Columns.Add("Age"); int i = ;
for (; i < argRowNum; i++)
{
DataRow dr = dt.NewRow();
dr[] = i;
dr[] = "LD" + i;
dr[] = "male";
dr[] = i * ;
dt.Rows.Add(dr);
} return dt;
}
static void Main(string[] args)
{
Console.WriteLine("1. 创建DataTable 10行");
DataTable dtSource = CreateDtData();
Console.WriteLine("2. 复制数据 默认是第一行");
dtSource.ImportRow(dtSource.Rows[]);
dtSource.Rows[dtSource.Rows.Count - ][] = "测试"; Console.WriteLine(dtSource.Rows[][].ToString());
Console.WriteLine(dtSource.Rows[dtSource.Rows.Count - ][].ToString()); Console.Read();
}

注:

  主要思想是使用DataTable的函数ImportRow(作用是复制一行,不是复制引用,是复制数据);

  其中dtSource.ImportRow(dtSource.Rows[0]);可以换成dtSource.Rows.Add(dtSource.Rows[0].ItemArray);

参考:http://blog.sina.com.cn/s/blog_75a555e401014rid.html