我循环使用1个DataTable并使用DataView.RowFilter从第二个DataTable查找值并在第三个DataTable中插入值。对于DataTable 1上的每次迭代,第二个DataTable中可能有多个匹配的行,有时第二个DataTable中的相同行在DataTable 1的另一个迭代中再次匹配。
在第3个DataTable中插入值之前,我需要检查该值是否已经插入到前一个循环迭代中。如果尚未插入行,我将使用dt3.ImportRow()
我的第一个RowFilter正常工作以返回DataTable 2中的正确行,但我检查DataTable 3的第二个RowFilter总是返回0行,导致重复的行被添加。
DataView dv2 = new DataView(dt2);
dv2.RowStateFilter = DataViewRowState.CurrentRows;
内圈:
dv2.RowFilter = <some condition>;
dv2.RowStateFilter = DataViewRowState.CurrentRows;
还试过:
dv2.RowStateFilter = DataViewRowState.AddedRows;
代码有什么问题?
编辑1: 如果我每次在循环内构造一个新的DataView,那么过滤器就可以正常工作。有没有办法在向DataTable添加行时自动刷新DataView?