以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]能够判断筛选树是否开启吗  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=123993)

--  作者:81538475
--  发布时间:2018/8/28 16:47:00
--  [求助]能够判断筛选树是否开启吗
如题
--  作者:有点甜
--  发布时间:2018/8/28 17:08:00
--  
For Each a As OBJECT In Tables("表A").grid.Parent.controls
    For Each b As OBJECT In a.controls
        For Each c As OBJECT In b.controls          
            msgbox(c.text)
            If c.text = "筛选树" Then
                msgbox(2)
            End If
        Next
    Next
Next

--  作者:81538475
--  发布时间:2018/8/28 17:29:00
--  
多谢。另外还有个问题。
筛选树上面的的内容里面包含了   \'  这个符号,导致筛选错误,应该如何处理呢

--  作者:有点甜
--  发布时间:2018/8/28 18:44:00
--  
以下是引用81538475在2018/8/28 17:29:00的发言:
多谢。另外还有个问题。
筛选树上面的的内容里面包含了   \'  这个符号,导致筛选错误,应该如何处理呢

 

在beforeFilter那里处理一下

 

http://www.foxtable.com/webhelp/scr/2059.htm

 

参考代码

 

Dim s = "第一列=\'111\'333\' and 第二列=\'a\'bc\' "
Dim mc = System.Text.RegularExpressions.Regex.Matches(s, "(?<=[= ]\').*?(?=\' )")
For i As Integer = 0 To mc.count-1
    msgbox(mc(i).value)
    s = s.replace(mc(i).value, mc(i).value.replace("\'", "\'\'"))
Next
msgbox(s)


--  作者:81538475
--  发布时间:2018/8/29 14:45:00
--  
那如何获取系统自带的筛选树的节点的名字呢。。
--  作者:有点甜
--  发布时间:2018/8/29 14:51:00
--  
以下是引用81538475在2018/8/29 14:45:00的发言:
那如何获取系统自带的筛选树的节点的名字呢。。

 

不明白你的意思。如果是筛选问题,你编写beforeFilter事件不行?参考4楼代码。


--  作者:81538475
--  发布时间:2018/8/29 16:54:00
--  
我这个问题时由于点了筛选树的一个节点上的名字包含了  ‘  符号。
我的想法是,筛选之前,获取筛选树的节点名称,如果包含’ 符号 就替换替换。
4楼代码拥戴beforefilter里面,有点没头绪。希望指点

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.foxdb


[此贴子已经被作者于2018/8/29 16:56:16编辑过]

--  作者:有点蓝
--  发布时间:2018/8/29 17:28:00
--  
beforeFilter事件

Dim s = e.Filter
Dim mc = System.Text.RegularExpressions.Regex.Matches(s, "(?<=[= ]\').*?(?=\' )")
For i As Integer = 0 To mc.count-1
    s = s.replace(mc(i).value, mc(i).value.replace("\'", "\'\'"))
Next
e.Filter = s