C# – 合并两个DataTable。 任何解决scheme

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

我试图用tabel3.Clone(table1)table3.merge(table2)来做到这tabel3.Clone(table1) 。 它显示了我:

答:第一部分

答:第2部分

请注意tb1tb2的共同元素在那里和tb2所有元素。

但是当我刚刚使用tb1.merge(tb2)tb3=tb1 ,它正在查看我这个: B:第一部分

B:第二部分

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

因此,有关邮政目标的任何解决scheme将受到高度赞赏。 谢谢。 -MD。 Saffan Alvy。

你看过使用LINQ来查询/写?

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

以及有关堆栈溢出的大量问题。

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

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

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

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

如果不是的话,你能否把这部分代码复制出来作为你的问题的一个更新,这样我们就可以更多的了解代码。 当你的2个GridView正在填充时,你不需要复制你的OleDb设置的代码部分,因此这些数据表是正确的。

谢谢,

凯文

Interesting Posts