【问题标题】:Merge colums of two DataTables in C#.netC# - 合并两个数据表。任何解决方案?
【发布时间】:2012-06-02 22:50:55
【问题描述】:

目标:如果dt1 包含Column["Item"] 并且dt2 也包含Column["Item"],那么dt3 将只有一个Column["Item"]。如果他们两个都有“汉堡”作为项目,则用一​​个覆盖,如果不常见,则添加新行。

我尝试使用tabel3.Clone(table1)table3.merge(table2) 来实现。它向我展示了这一点:

请注意tb1tb2 的共同元素以及tb2 的所有元素。

但是当我只使用tb1.merge(tb2)tb3=tb1 时,它正在查看我:

注意,tb1 的所有元素都在查看,两个表格合并,但tb2 的元素没有查看。

因此,任何关于发布目标的解决方案都将受到高度赞赏。 谢谢。 -医学博士。萨凡·阿尔维。

【问题讨论】:

    标签: c# excel merge datatable


    【解决方案1】:

    您是否看过使用 linq 进行查询/写入?

    见: http://msdn.microsoft.com/en-us/library/dd920313%28v=office.12%29.aspx

    还有很多关于堆栈溢出的问题。

    【讨论】:

    • 如果有人可以使用数据表、列、行等解决它,将不胜感激。
    【解决方案2】:

    这可能会出现(不确定,但这是我的第一个猜测),因为 Datatable.Merge() 方法的默认行为设置为“PreserveChanges”。

    http://msdn.microsoft.com/en-us/library/fk68ew7b.aspx

    在您的代码中,将“false”开关添加到合并方法中,看看是否有帮助..

    dt3.Clone(dt1);
    dt3.Merge(dt2, false);
    

    如果没有,您能否复制那部分代码作为您问题中的更新,以便我们对编码有更多了解。 当您的 2 个网格视图正在填充时,您无需复制具有 OleDb 设置的代码部分,因此这些数据表将是正确的。

    谢谢,

    凯文

    【讨论】:

      猜你喜欢
      • 2012-06-01
      • 1970-01-01
      • 2012-10-10
      • 1970-01-01
      • 2015-10-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多