DataTable复制自身行

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

无废话,直接上代码

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

 1  /// <summary>
 2         /// 创造DataTable并产生测试数据
 3         /// </summary>
 4         /// <returns></returns>
 5         public static DataTable CreateDtData(int argRowNum)
 6         {
 7             DataTable dt = new DataTable();
 8             dt.Columns.Add("ID");
 9             dt.Columns.Add("Name");
10             dt.Columns.Add("Sex");
11             dt.Columns.Add("Age");
12 
13             int i = 0;
14             for (; i < argRowNum; i++)
15             {
16                 DataRow dr = dt.NewRow();
17                 dr[0] = i;
18                 dr[1] = "LD" + i;
19                 dr[2] = "male";
20                 dr[3] = i * 6;
21                 dt.Rows.Add(dr);
22             }
23 
24             return dt;
25         }
26 static void Main(string[] args)
27         {
28             Console.WriteLine("1. 创建DataTable 10行");
29             DataTable dtSource = CreateDtData(10);
30             Console.WriteLine("2. 复制数据 默认是第一行");
31             dtSource.ImportRow(dtSource.Rows[0]);
32             dtSource.Rows[dtSource.Rows.Count - 1][1] = "测试";
33 
34             Console.WriteLine(dtSource.Rows[0][1].ToString());
35             Console.WriteLine(dtSource.Rows[dtSource.Rows.Count - 1][1].ToString());
36 
37             Console.Read();
38         }
View Code

注:

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

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

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

posted @ 2015-04-12 13:05  暗香残留  阅读(435)  评论(0编辑  收藏  举报