简单的说,如果某一个DataColumn已经添加到一个DataTable中,就不能在添加到另一个DataTable中。
这个问题我遇到的时候,百度了半天也没有人说明白怎么解决。看来是简单的问题反而不好解决啊
解决方法是:创建新列
<span style="white-space:pre"> </span>DataColumn newDc = new DataColumn() { ColumnName = dc.ColumnName };
<span style="white-space:pre"> </span>dt.Columns.Add(newDc);
或者,如果DataColumn所属的DataTable已经不在使用的话,可以将此列从DataTable中移除,然后在添加到新的DataTable中。
dc.Table.Columns.Remove(dc);
dt.Columns.Add(dc);
注:代码中的dt是需要添加DataColumn的DataTable,dc是发生“列XX已属于另一个 DataTable”异常的DataColumn
这样就简单的解决了问题。