Foxtable(狐表)用户栏目专家坐堂 → BeforeLoad 目录树数据条件


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

主题:BeforeLoad 目录树数据条件

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


加好友 发短信
等级:九尾狐 帖子:2482 积分:22932 威望:0 精华:0 注册:2011/3/29 17:14:00
BeforeLoad 目录树数据条件  发帖心情 Post By:2024/3/26 23:14:00 [显示全部帖子]

动态增加的LoadTree加载树

Dim trv As WinForm.LoadTree = e.Form.Controls("LoadTree1")
trv
.Build(Tables("窗口1_Table1"), "日期 YM|产品", 5)

在 BeforeLoad  使用如下代码不生效筛选条件

If _UserRoles = "商务经理" Then '如果用户分组是雇员
    Dim fl As String = "[商务经理] = '" & _UserName & "'" 
    e.DataTable.LoadFilter = fl 
    e.DataTable.Load()
ElseIf _UserRoles = "营销总监" Then '如果用户分组是雇员
    Dim fl As String = "[营销总监] = '" & _UserName & "'" 
    e.DataTable.LoadFilter = fl 
    e.DataTable.Load()
ElseIf _UserRoles = "销售主管" Then '如果用户分组是雇员
    Dim fl As String = "[销售主管] = '" & _UserName & "'" 
    e.DataTable.LoadFilter = fl'   
    e.DataTable.Load()
End If



[此贴子已经被作者于2024/3/26 23:14:51编辑过]

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


加好友 发短信
等级:九尾狐 帖子:2482 积分:22932 威望:0 精华:0 注册:2011/3/29 17:14:00
  发帖心情 Post By:2024/3/27 12:11:00 [显示全部帖子]

去掉了,还是会加载 全部的数据,而不是被筛选出来的数据 我是用的插入是窗体目录树 使用的工具不对还是什么原因?
[此贴子已经被作者于2024/3/27 12:11:23编辑过]

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


加好友 发短信
等级:九尾狐 帖子:2482 积分:22932 威望:0 精华:0 注册:2011/3/29 17:14:00
  发帖心情 Post By:2024/3/27 16:14:00 [显示全部帖子]

If _UserRoles = "商务经理" Then'如果用户分组是雇员
    Dim fl As String = "[商务经理] = '" & _UserName & "'" 
    If e.DataTable.LoadFilter = "" Then
        e.DataTable.LoadFilter = fl
    ElseIf e.DataTable.LoadFilter.IndexOf(fl) < 0 Then '如果没有包括雇员条件
        e.DataTable.LoadFilter = "(" & e.DataTable.Loadfilter & ") And (" & fl & ")"
    End If
End If

If _UserRoles = "销售主管" Then'如果用户分组是雇员
    Dim fl As String = "[销售主管] = '" & _UserName & "'" 
    If e.DataTable.LoadFilter = "" Then
        e.DataTable.LoadFilter = fl
    ElseIf e.DataTable.LoadFilter.IndexOf(fl) < 0 Then '如果没有包括雇员条件
        e.DataTable.LoadFilter = "(" & e.DataTable.Loadfilter & ") And (" & fl & ")"
    End If
End If


图片点击可在新窗口打开查看此主题相关图片如下:企业微信截图_20240327161500.png
图片点击可在新窗口打开查看

代码改成以上
还是不受控制? 应该是200行
是不是不能放在全局的_BeforeLoad内
[此贴子已经被作者于2024/3/27 16:28:01编辑过]

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


加好友 发短信
等级:九尾狐 帖子:2482 积分:22932 威望:0 精华:0 注册:2011/3/29 17:14:00
  发帖心情 Post By:2024/3/27 17:11:00 [显示全部帖子]



图片点击可在新窗口打开查看此主题相关图片如下:企业微信截图_20240327171358.png
图片点击可在新窗口打开查看
Select Case MainTable.name 
    Case "客户_全新报备"
        msgbox(_UserRoles)
        If _UserRoles = "商务经理" Then '如果用户分组是雇员
            Dim fl As String = "[商务经理] = '" & _UserName & "'"
            If e.DataTable.LoadFilter = "" Then
                e.DataTable.LoadFilter = fl
            ElseIf e.DataTable.LoadFilter.IndexOf(fl) < 0 Then '如果没有包括雇员条件
                e.DataTable.LoadFilter = "(" & e.DataTable.Loadfilter & ") And (" & fl & ")"
            End If
        ElseIf _UserRoles = "业务经理" Then '如果用户分组是雇员
            Dim fl As String = "[业务经理] = '" & _UserName & "'"
            If e.DataTable.LoadFilter = "" Then
                e.DataTable.LoadFilter = fl
            ElseIf e.DataTable.LoadFilter.IndexOf(fl) < 0 Then '如果没有包括雇员条件
                e.DataTable.LoadFilter = "(" & e.DataTable.Loadfilter & ") And (" & fl & ")"
            End If
        ElseIf _UserRoles = "销售主管" Then '如果用户分组是雇员
            Dim fl As String = "[销售主管] = '" & _UserName & "'"
            If e.DataTable.LoadFilter = "" Then
                e.DataTable.LoadFilter = fl
            ElseIf e.DataTable.LoadFilter.IndexOf(fl) < 0 Then '如果没有包括雇员条件
                e.DataTable.LoadFilter = "(" & e.DataTable.Loadfilter & ") And (" & fl & ")"
            End If
        ElseIf _UserRoles = "运营总监" Then '如果用户分组是雇员
            Dim fl As String = "[运营总监] = '" & _UserName & "'"
            If e.DataTable.LoadFilter = "" Then
                e.DataTable.LoadFilter = fl
            ElseIf e.DataTable.LoadFilter.IndexOf(fl) < 0 Then '如果没有包括雇员条件
                e.DataTable.LoadFilter = "(" & e.DataTable.Loadfilter & ") And (" & fl & ")"
            End If
        ElseIf _UserRoles = "营销总监" Then '如果用户分组是雇员
            Dim fl As String = "[营销总监] = '" & _UserName & "'"
            If e.DataTable.LoadFilter = "" Then
                e.DataTable.LoadFilter = fl
            ElseIf e.DataTable.LoadFilter.IndexOf(fl) < 0 Then '如果没有包括雇员条件
                e.DataTable.LoadFilter = "(" & e.DataTable.Loadfilter & ") And (" & fl & ")"
            End If
        End If
        msgbox(e.DataTable.LoadFilter)
    Case Else        
End Select
[此贴子已经被作者于2024/3/27 17:14:35编辑过]

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


加好友 发短信
等级:九尾狐 帖子:2482 积分:22932 威望:0 精华:0 注册:2011/3/29 17:14:00
  发帖心情 Post By:2024/3/27 17:21:00 [显示全部帖子]


[此贴子已经被作者于2024/4/10 23:14:39编辑过]

 回到顶部