以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  表beforeload事件设置加载数据仅显示符合条件的数据  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=124999)

--  作者:weibu
--  发布时间:2018/9/18 10:00:00
--  表beforeload事件设置加载数据仅显示符合条件的数据
请问我想在当前表中设置加载数据仅显示“是否可用=1”的数据;但加载的时候不判断是否可用状态,即把“是否可用=0”的也加载,因为有关联表。
并且能否 实现在此表中狐表自带加载树和筛选后台数据时,一样仅显示“是否可用=1”的数据。 
本表Beforeload代码如下,需如何修改?  
Dim dr As DataRow = DataTables("用户信息").find("用户名 = \'" & 用户名 & "\'")  \'找到当前登录者所在
Dim filter As String = "1=2"
If dr("职位") = "管理者" Then
    Dim drs = DataTables("部门信息").Select("层级 like \'" & dr("层级") & "%\'")
    For Each cdr As DataRow In drs
        Filter &= " or 当前所在部门 = \'" & cdr("所属部门") & "\'"                   \' And 是否可用 = 1"
    Next
Else If dr("职位") = "职员" Then
    Filter = "当前所在部门 = \'" & dr("所属部门") & "\'"                                     \'And 是否可用 = 1"
End If
If e.DataTable.LoadFilter > "" Then
    If e.DataTable.LoadFilter.Contains(Filter) = False
        e.DataTable.LoadFilter = e.DataTable.LoadFilter &  " and ( " & Filter & ")"
    End If
Else
    e.DataTable.LoadFilter = Filter
End If
[此贴子已经被作者于2018/9/18 10:01:19编辑过]

--  作者:有点甜
--  发布时间:2018/9/18 10:08:00
--  

不明白你的意思。你是想全部数据都加载,然后,只显示对应条件的数据?那你应该设置的是筛选吧?

 

看看beforeFilter事件 http://www.foxtable.com/webhelp/scr/2059.htm

 


--  作者:weibu
--  发布时间:2018/9/18 10:24:00
--  
以下是引用有点甜在2018/9/18 10:08:00的发言:

不明白你的意思。你是想全部数据都加载,然后,只显示对应条件的数据?那你应该设置的是筛选吧?

 

看看beforeFilter事件 http://www.foxtable.com/webhelp/scr/2059.htm

 


老师,就是你理解的这个意思。但是如何设置筛选的话,加载树和后台数据筛选时,又是显示的所有数据啊。

我希望在用加载树和后台数据筛选时也仅显示对应条件的数据



--  作者:有点甜
--  发布时间:2018/9/18 10:26:00
--  
以下是引用weibu在2018/9/18 10:24:00的发言:
我希望在用加载树和后台数据筛选时也仅显示对应条件的数据

 

AfterLoad事件那里,设置筛选条件,不就好了?比如

 

Tables("表A").Filter = "是否可用=true"