1,dataview过滤不能叠加
如果想根据多个调教,一次性过滤出想要的结果,是很简单的,比如
Dim dv As DataView = New DataView(ds.Tables(0))
dv.RowFilter = "fatherid=14 and permissiongroupid>10" (补充:如果排序,则用dv.sort="Hits DESC"的形式)
但如果想一步步过滤呢?
Dim dv As DataView = New DataView(ds.Tables(0))
dv.RowFilter = "fatherid=14"
dv.RowFilter="permissiongroupid>10"
这样得到的结果只是最后一个RowFilter发生了作用,那么如何实现分步过滤呢?
Dim dv As DataView = New DataView(ds.Tables(0))
dv.RowFilter = "fatherid=14"
'先把dv转成一个ds
Dim ds1 As DataSet = New DataSet()
ds1.Tables.Add(dv.ToTable)
'新定义一个dataview
Dim dv1 As DataView = New DataView(ds1.Tables(0))
dv1.RowFilter="permissiongroupid>10"
OK,这样就得到了分步过滤的效果.
上面已经用到了如何把dataview转成dataset的方法:
ds1.Tables.Add(dv.ToTable)