加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 将DataColumn添加到DataTable

发布时间:2020-12-15 18:15:08 所属栏目:百科 来源:网络整理
导读:我想将数据从dataColumn移动到dataTable中的特定列.我不知道如何指定我想在数据表中添加数据列的列. foreach (DataColumn col in dt.Columns) { dt1.Columns.Add(col); } 我收到一个异常列’X’已经属于另一个DataTable. 解决方法 您需要复制ColumnName等属
我想将数据从dataColumn移动到dataTable中的特定列.我不知道如何指定我想在数据表中添加数据列的列.
foreach (DataColumn col in dt.Columns)
        {
            dt1.Columns.Add(col);
        }

我收到一个异常列’X’已经属于另一个DataTable.

解决方法

您需要复制ColumnName等属性并创建新的DataColumns:
foreach (DataColumn col in dt.Columns)
{
    dt1.Columns.Add(col.ColumnName,col.DataType);
}

添加已属于另一个DataTable的DataColumn时,ArgumentException是有原因的.允许这样做是非常危险的,因为DataTable将reference保存到它们的列,并且每列保持reference到它的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];
    }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读