该行已经属于另一个表

解法1:
------运用add方法的解决方案------------
 
DataTable dt = new DataTable(); 
dt = ds.Tables["All"].Clone();//把All的结构传递给dt 
DataRow[] dr=this.dataSet31.Tables["Product"].Select("bc=1"); 
for(int i=0;i<dr.Length;i++) 
//将数组元素加入表 
dt.Rows.Add(dr[i]);//出错提示为:该行已经属于另一个表 
//解决方法 
dt.Rows.Add(dr[i].ItemArray); 
//这样就好了!
 
 
-------运用insertAt方法的解决方案-------------------------------------
 
 
假设有table1和table2 
你想把table1的内容插入到table2 
那么
 
DataRow row = table2.NewRow(); 
row.ItemArray = table1.Rows[你需要的Row的索引].ItemArray; 
table2.Rows.InsertAt(row,你插入的索引);
解法2:

从一个TABLE中取一行放到另一个TABLE里报错: 该行已经属于另一个表。的解决办法 
用下面来个方法就OK了。


DataTable dt = new DataTable();

dt = ds.Tables["All"].Clone();//克隆All的结构传递给dt

DataRow[] dr=this.dataSet31.Tables["Product"].Select("bc=1"); //通过条件得到符合条件的行
for(int i=0;i<dr.Length;i++)
{
//将数组元素加入表...
dt.Rows.Add(dr[i]);//出错提示为:该行已经属于另一个表
}
解决方法

dt.Rows.Add(dr[i].ItemArray);

这样就好了!

 
 
原文地址:https://www.cnblogs.com/lvfeilong/p/gfgfdgfdgfg.html