2011-05-04 52 views
0

为了测试我想扩展我的结果集。我有一个DataTable dt,有7个左右的结果。我想这样做:C#datatable,重复数据

dt.Rows.Add(dt);几次,只是为了使数据集更大。

我也试过dt.Rows.Add(dt.Rows[0]);

的第一次给了一个错误有关的类型,第二个说行已经存在。

+0

你真的添加正确的类型呢? – 2011-05-04 13:39:29

回答

3

你需要做这样的事情有什么下文。基本上使用现有行的值生成一个新行。

DataTable dt = new DataTable(); 
DataRow dr = dt.Rows[0]; 
dt.Rows.Add(dr.ItemArray); 
+0

这正是我的答案。 @James点击了代码失败的原因,但没有提供解决方案,因为您已为您+1。 – Yuck 2011-05-04 13:44:20

0

第一项失败,因为函数需要参数DataRow

第二项失败,因为您试图从表中添加一个项目,所以它本来就存在。

尝试:

DataTable dt; 
DataRow dr = dt.NewRow(); 
dr["field"] = "Some Value"; 
dt.Rows.Add(dr); 

退房的DataRow Class article on MSDN

2

您需要将值复制到新行:

DataRow row = dt.NewRow(); 
    row.ItemArray = dt.Rows[0].ItemArray; 
    dt.Rows.Add(row);