DataTable的默认视图与实际表数据不同

时间:2014-04-01 07:22:28

标签: asp.net vb.net

我正在使用一个巨大的数据表进行调查分析。我没有经常调用SQL服务器,而是使用DataView对此数据表进行行筛选。

但问题是我曾经用

过滤DataTable
dv= dt.defaultview
dv.rowfilter="id=10"

工作正常。 Dv有一个过滤行

但是当我们将相同的dt分配给另一个视图时,Main数据表的默认视图会根据为DV完成的过滤而改变,ID = 10

所以在即时窗口中我检查了这个

dt.defaultview.totable().rows.count 

和它的20(因为DV的过滤是因为)

dt.rows.count

是1500,这是正确的计数。

但是我的问题是这是怎么发生的,因为我没有触及Datatable并且我只为DV分配过滤器。即便如此,数据表的默认视图如何变化?

1 个答案:

答案 0 :(得分:3)

“即便如此,数据表的默认视图如何变化?”如果你查看你发布的前两行代码,那不是很明显吗?

dv = dt.DefaultView
dv.rowfilter = "id=10"

如果您要删除DefaultView上的过滤条件,则必须指定空stringNothing

dt.DefaultView.RowFilter = ""