1

Objective: if dt1contains Column["Item"]and dt2also contains Column["Item"]then,dt3将只有一个Column["Item"]. 如果他们两个都有“汉堡”作为项目,则用一​​个覆盖,如果不常见,则添加新行。

我试过用tabel3.Clone(table1)and来做table3.merge(table2)。它向我展示了这一点:

答:第 1 部分

答:第 2 部分

请注意 和 的共同元素tb1以及tb2的所有元素tb2

但是当我只是使用tb1.merge(tb2)andtb3=tb1时,它正在查看我: B:第 1 部分

B:第 2 部分

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

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

4

2 回答 2

0

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

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

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

于 2012-05-28T15:30:18.627 回答
0

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

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

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

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

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

谢谢,

凯文

于 2012-05-28T21:17:31.390 回答