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

你可能感兴趣的:(Datatable)