C# - 合并两个DataTable。任何方案?

时间:2012-05-28 15:13:57

标签: c# excel merge datatable

目标:如果dt1包含Column["Item"]dt2还包含Column["Item"],那么dt3将只有Column["Item"] tabel3.Clone(table1) 1}}。如果他们两个都有"汉堡"作为一个项目,然后用一个覆盖,如果不常见,然后添加一个新行。

我已尝试使用table3.merge(table2)tb1进行此操作。它告诉我这个:

A:Part 1

A:Part 2

请注意tb2tb2的常见元素以及tb1.merge(tb2)的所有元素。

但是当我正在使用tb3=tb1tb1时,它正在查看我: B: Part 1

B: Part 2

请注意,tb2的所有元素都在查看,两个表合并但{{1}}的元素无法查看。

因此,任何关于后期目标的解决方案都将受到高度赞赏。 谢谢。 -MD。 Saffan Alvy。

2 个答案:

答案 0 :(得分:0)

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

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

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

答案 1 :(得分:0)

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

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

在你的代码中,将'false'with添加到merge方法中,看看是否有帮助..

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

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

谢谢,

凯文