我正在使用一个巨大的数据表进行调查分析。我没有经常调用SQL服务器,而是使用DataView对此数据表进行行筛选。
但问题是我曾经用
过滤DataTabledv= 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分配过滤器。即便如此,数据表的默认视图如何变化?
答案 0 :(得分:3)
“即便如此,数据表的默认视图如何变化?”如果你查看你发布的前两行代码,那不是很明显吗?
dv = dt.DefaultView
dv.rowfilter = "id=10"
如果您要删除DefaultView
上的过滤条件,则必须指定空string
或Nothing
:
dt.DefaultView.RowFilter = ""