以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 多重筛选的问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=106655) |
-- 作者:dengk03 -- 发布时间:2017/9/13 11:53:00 -- 多重筛选的问题 窗口里有目录树对表进行了筛选,想在窗体里加一个复选框对已经筛选出来的结果进行二次筛选,请问如何实现? |
-- 作者:有点甜 -- 发布时间:2017/9/13 12:19:00 -- Tables("表A").Filter = "(" & iif(Tables("表A").Filter>"",Tables("表A").Filter,"1=1") & ") and 某列 = true" [此贴子已经被作者于2017/9/13 12:19:58编辑过]
|
-- 作者:dengk03 -- 发布时间:2017/9/13 13:32:00 -- check取消掉后如何去掉该filter?但是不能取消掉目录树的filter。 |
-- 作者:dengk03 -- 发布时间:2017/9/13 13:55:00 -- 包括帮助文件里给出的目录树多选筛选的例子,也是这个问题,去除check之后不能去掉筛选。 |
-- 作者:有点甜 -- 发布时间:2017/9/13 14:25:00 -- 以下是引用dengk03在2017/9/13 13:32:00的发言:
check取消掉后如何去掉该filter?但是不能取消掉目录树的filter。
1、你如何生成目录树的filter的?生成后,用一个变量记录。
vars("filter") = 生成的Filter
2、如果需要还原原来的filter,就这样写
Tables("表A").Filter = vars("Filter") |
-- 作者:dengk03 -- 发布时间:2017/9/13 14:38:00 -- 谢谢老师,按照您的方法解决了。 目录树我参照如下例子,发现加上var之后目录树取消check之后也能恢复筛选了。 通用设计 上述常规编码方式,目录树的层级越多,代码就越复杂,下面我们提供一个通用的筛选树代码,不过有多少层,代码都一样。 设计步骤同样很简单: 1、新建一个窗口,插入一个目录树控件,将目录树的“显示复选框”属性设置为True。 2、将窗口的AfterLoad事件代码设置为: e.Form.Controls("TreeView1").BuildTree("订单", "产品|客户|雇员") 3、将目录树的AfterCheckNode事件代码设置为: Dim nms As String() = {"产品","客户","雇员"}
\'指定生成目录树的各列 |