我想将数据从a移动dataColumn到我的特定列dataTable.我不知道如何指定Datatable我想要添加的列中的哪一列datacolumn.
foreach (DataColumn col in dt.Columns)
{
dt1.Columns.Add(col);
}
Run Code Online (Sandbox Code Playgroud)
我收到一个例外 Column 'X' already belongs to another DataTable.
Tim*_*ter 18
您需要复制类似的属性ColumnName并创建新的DataColumns:
foreach (DataColumn col in dt.Columns)
{
dt1.Columns.Add(col.ColumnName, col.DataType);
}
Run Code Online (Sandbox Code Playgroud)
ArgumentException添加DataColumn已经属于另一个DataTable 的时间是有原因的.允许这样做是非常危险的,因为a DataTable保存对其列的引用,并且每列都包含对它的DataTable 的引用.如果您要将列添加到另一个表中,您的代码迟早会被破坏.
如果您还想将其复制DataRows到新表中:
foreach (DataRow row in t1.Rows)
{
var r = t2.Rows.Add();
foreach (DataColumn col in t2.Columns)
{
r[col.ColumnName] = row[col.ColumnName];
}
}
Run Code Online (Sandbox Code Playgroud)