我想将数据从dataColumn
移到dataTable
中的特定列。我不确定如何在Datatable
中指定要添加datacolumn
的列。
foreach (DataColumn col in dt.Columns)
{
dt1.Columns.Add(col);
}
我收到异常
Column 'X' already belongs to another DataTable.
最佳答案
您需要复制ColumnName
之类的属性并创建新的DataColumns
:
foreach (DataColumn col in dt.Columns)
{
dt1.Columns.Add(col.ColumnName, col.DataType);
}
添加已经属于另一个DataTable的
ArgumentException
时,就有了DataColumn
的原因。允许这样做非常危险,因为DataTable
在其列中保留reference,并且每列在其DataTable中都保留reference。如果您要将列添加到另一个表中,则您的代码迟早会失效。如果您还想将
DataRows
复制到新表中:foreach (DataRow row in t1.Rows)
{
var r = t2.Rows.Add();
foreach (DataColumn col in t2.Columns)
{
r[col.ColumnName] = row[col.ColumnName];
}
}
关于c# - 将DataColumn添加到DataTable,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11563731/