Foxtable(狐表)用户栏目专家坐堂 → 加载树越权问题,请教。


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

主题:加载树越权问题,请教。

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


加好友 发短信
等级:四尾狐 帖子:977 积分:6835 威望:0 精华:0 注册:2012/4/2 21:49:00
  发帖心情 Post By:2019/2/12 16:34:00 [显示全部帖子]

甜版:
        beforeLoad事件,在按下Ctrl键时彻底失效,导致内置的加载树对用户来说彻底成为摆设。

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


加好友 发短信
等级:四尾狐 帖子:977 积分:6835 威望:0 精华:0 注册:2012/4/2 21:49:00
  发帖心情 Post By:2019/2/13 0:27:00 [显示全部帖子]

Dim lfl As String
Select Case e.DataTable.name
    Case "考勤管理"
        Select Case _userroles
            Case "一般人员"
                lfl="项目经理 ='" & _username & "' or 姓名 ='" & _username & "'"
            Case "公司领导","担保管理","产值管理","物业管理"
                lfl="姓名 ='" & _username & "'"
            Case "部门干事","部门会计","部门领导","财务领导","生产领导","合同管理","体系管理"
                lfl="部门名称 In (" & _usergroup & ")"
            Case "审核人员","开发者","管理者"
                lfl=""
        End Select
    Case Else
        Return
End Select
If e.DataTable.LoadFilter = "" Then
    e.DataTable.LoadFilter = lfl
ElseIf lfl>"" andalso e.DataTable.LoadFilter.IndexOf(lfl) < 0 Then
    e.DataTable.LoadFilter = "(" & e.DataTable.Loadfilter & ") And (" & lfl & ")"
End If

考勤管理表有年度、月份、姓名,并按此分组加载,当没按下Ctrl键时,确实不能选择别人,只能选择自己,但当按下Ctrl键时,可以选择任何人。

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


加好友 发短信
等级:四尾狐 帖子:977 积分:6835 威望:0 精华:0 注册:2012/4/2 21:49:00
  发帖心情 Post By:2019/2/13 10:07:00 [显示全部帖子]

谢谢甜版,问题解决。
看来帮助文档还是不够严密。即使不按下ctrl键,e.DataTable.LoadFilter = e.DataTable.Loadfilter & " And " & fl 也是不严密的,应改为:
e.DataTable.LoadFilter = "(" & e.DataTable.Loadfilter & ") And (fl & ")"

 回到顶部