Foxtable(狐表)用户栏目专家坐堂 → 撤消筛选没反应


  共有1929人关注过本帖树形打印复制链接

主题:撤消筛选没反应

帅哥哟,离线,有人找我吗?
aza520
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:689 积分:5155 威望:0 精华:0 注册:2017/10/22 10:15:00
撤消筛选没反应  发帖心情 Post By:2018/1/6 17:06:00 [只看该作者]

我在窗口开始筛选按钮设置如下代码,用的是外部数据源,可以正常筛选,但点击撤消筛选时没有反应,不能回到筛选前的状态,请老师帮看看是什么问题。

Dim Filter As String
With e.Form.Controls("DateTimePicker1")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "支付日期 >= '" & .Value & "'"
    End If
End With
With e.Form.Controls("DateTimePicker2")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "支付日期 <= '" & .Value & "'"
    End If
End With

If e.Form.Controls("RadioButton5").Checked = True ' 如果付款状态选择了"已付"
    If Filter >"" Then
        Filter = Filter & " And "
    End If
    Filter = Filter & "乡镇审核 = 1"
End If
If e.Form.Controls("RadioButton6").Checked = True ' 如果付款状态选择了"未付"
    If Filter >"" Then
        Filter = Filter & " And "
    End If
    Filter = Filter & "乡镇审核 = 0 Or 乡镇审核 Is Null"
End If

If e.Form.Controls("RadioButton2").Checked = True ' 如果付款状态选择了"已付"
    If Filter >"" Then
        Filter = Filter & " And "
    End If
    Filter = Filter & "是否结算 = 1"
End If
If e.Form.Controls("RadioButton3").Checked = True ' 如果付款状态选择了"未付"
    If Filter >"" Then
        Filter = Filter & " And "
    End If
    Filter = Filter & "是否结算 = 0 Or 是否结算 Is Null"
End If
If Filter > "" Then
    Tables("S征地记录").DataTable.LoadFilter = Filter
    Tables("S征地记录").DataTable.Load


图片点击可在新窗口打开查看此主题相关图片如下:qq图片20180106170557.png
图片点击可在新窗口打开查看



 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109736 积分:558396 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/1/6 17:12:00 [只看该作者]

DataTable.Load是重新加载,而不是筛选,无法撤销,自能重新设置条件重新加载。

你可以用一个全局变量记录上一次加载的条件,比如

If Filter > "" Then
vars("条件") = Tables("S征地记录").DataTable.LoadFilter
    Tables("S征地记录").DataTable.LoadFilter = Filter
    Tables("S征地记录").DataTable.Load

那么撤销这样

Tables("S征地记录").DataTable.LoadFilter = vars("条件")
    Tables("S征地记录").DataTable.Load

 回到顶部