【问题标题】:Merge two datatables合并两个数据表
【发布时间】:2012-07-05 17:38:58
【问题描述】:

我有两个数据表。每个都有三列,其中两个具有相同的名称。但是 table1 中的一列是“Desc”,在 table2 中被命名为“Descr”。 如何将它们合并在一起?

谢谢。

编辑

这两个数据表来自两个datagridview。

                       DataRow dr = dg1.Newrow()
                        foreach (DataRow row in dt2.Rows)
                        {
                            dr[0] = row[0];
                            dr[1] = row[1];
                            dr[2] = row[2];
                            dg1.Rows.Add(dr);
                        }

dg1 是一个数据网格视图。 dt2 只是一个数据表。

【问题讨论】:

  • 我应该循环抛出每个 DataRow 吗?有没有快捷的方法?

标签: c# ado.net datatable


【解决方案1】:

使用Merge 方法

您可以在此处找到一些示例代码以及文档。

http://msdn.microsoft.com/en-us/library/system.data.datatable.merge.aspx

注意:您可能必须在合并表之前重命名 Desc 列:

dt.Columns[2].ColumnName = "Descr";

【讨论】:

  • 我遇到了一个异常:.EntryDE 和 .EntryDE 有冲突的属性:DataType 属性不匹配。
  • @Love,如果没有看到您的代码和数据表结构,我将无法提供帮助。尝试在问题中包含尽可能多的细节,您会在更短的时间内得到更好的回答,而不会有人问“您尝试了什么?”一直都是。
  • 在合并之前重命名列。 dt.Columns[2].ColumnName = "Descr";
  • 查看我更新的代码,请帮我纠正错误。第一个数据表不直接可见。实际上它来自datagridview。我想动态更新datagridview。
  • @Love - 我看到了您的更新,但我没有看到您尝试使用 Merge 的代码。我也没有看到模式。如果不查看所有代码,很难提供帮助。既然这个问题解决了,你应该问一个新问题:如何合并这两个DataTables?展示您尝试过的代码、数据表的架构以及任何其他看起来相关的代码。
【解决方案2】:

请使用合并方法http://msdn.microsoft.com/en-us/library/fk68ew7b.aspx

e.g. 
mergeTable = dataTable1.Copy();
mergeTable.Merge(dataTable2);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-05-06
    • 2019-09-19
    • 2015-08-05
    • 1970-01-01
    • 2020-10-16
    • 2021-04-12
    相关资源
    最近更新 更多