我是DataTables的新手,需要一些帮助,尤其是Merge方法。
我有一个WPF应用程序,我的UI元素绑定到1行DataTable中的各个列。有很多专栏。我有一个线程,它从MSMQ接收一个序列化的DataTable对象,对其进行反序列化,然后用新行替换我的DataTable中的单行,从而更新绑定控件中的值(重置DataContext之后)。到目前为止,这工作正常。
现在需要轮询2个不同的MSMQ队列,每个队列都有自己的数据,然后用两者刷新我的DataTable。所以这是我的问题:
情况:
我有MainTable列IDCol,Col1,Col2,Col3,Col4
进程1返回带有IDCol,Col1,Col2的NewTable
进程2返回带有IDCol,Col3,Col4的NewTable
在所有情况下,IDCol都是主键,并且具有相同的值
每个进程都在自己的线程中运行(实际上是BackgroundWorker)。
我可以在每个线程中使用DataTable.Merge(NewTable),它们是否会正确合并各个列,而不是删除行并添加新行的旧方法?
...谢谢
答案 0 :(得分:0)
我能够自己解决这个问题。只要返回的每个数据表的主键字段与我的主记录的主键字段匹配,合并就像宣传的那样工作。 不管怎样,谢谢......