以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]我想给右键增加一个取消上一步筛选或者在窗口里增加个取消上一步筛选的功能怎么做  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=194321)

--  作者:fx719
--  发布时间:2024/11/28 11:18:00
--  [求助]我想给右键增加一个取消上一步筛选或者在窗口里增加个取消上一步筛选的功能怎么做
多次筛选后,想返回到上一次的筛选结果
--  作者:有点蓝
--  发布时间:2024/11/28 11:21:00
--  
使用一个全局变量,比如集合,每一次筛选就把条件放入集合。上一次就是集合里倒数第二项的条件
--  作者:lur320
--  发布时间:2024/11/28 14:19:00
--  
自定义函数

 creatfilters  筛选之后记录当前筛选的表和筛选规则
 If Vars("tbname") <> "" Then
    If Vars("tbname") = CurrentTable.Name Then
        Vars("tbname") = CurrentTable.Name
        tbfilters.Add(CurrentTable.Filter)
    Else
        Vars("tbname") = CurrentTable.Name
        tbfilters.Clear
        tbfilters.Add(CurrentTable.Filter)
    End If
Else
    Vars("tbname") = CurrentTable.Name
    tbfilters.Clear
    tbfilters.Add(CurrentTable.Filter)
End If


withdrawfilter  撤回筛选

If Vars("tbname") <> "" Then
    If Vars("tbname") = CurrentTable.Name Then
        Try
            Dim c As Integer = tbfilters.Count - 1
            If c = 0 Then
                CurrentTable.Filter = ""
                tbfilters.Clear
            Else
                CurrentTable.Filter = tbfilters(c - 1)
                tbfilters.RemoveAt(c)
            End If         
        Catch ex As Exception
        End Try
    Else
        Vars("tbname") = Nothing
        tbfilters.Clear
    End If
End If