以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- BeforeLoad 目录树数据条件 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=191083) |
-- 作者:yifan3429 -- 发布时间:2024/3/26 23:14:00 -- BeforeLoad 目录树数据条件 动态增加的LoadTree加载树 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编辑过]
|
-- 作者:有点蓝 -- 发布时间:2024/3/27 8:28:00 -- 去掉e.DataTable.Load() |
-- 作者:yifan3429 -- 发布时间:2024/3/27 12:11:00 -- 去掉了,还是会加载 全部的数据,而不是被筛选出来的数据 我是用的插入是窗体目录树 使用的工具不对还是什么原因? [此贴子已经被作者于2024/3/27 12:11:23编辑过]
|
-- 作者:有点蓝 -- 发布时间:2024/3/27 13:34:00 -- 没有保留原有的筛选条件:http://www.foxtable.com/webhelp/topics/2057.htm |
-- 作者:yifan3429 -- 发布时间: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 代码改成以上 还是不受控制? 应该是200行 是不是不能放在全局的_BeforeLoad内
[此贴子已经被作者于2024/3/27 16:28:01编辑过]
|
-- 作者:有点蓝 -- 发布时间:2024/3/27 16:19:00 -- 调试看看 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 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 msgbox(e.DataTable.LoadFilter)
|
-- 作者:yifan3429 -- 发布时间:2024/3/27 17:11:00 -- 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编辑过]
|
-- 作者:有点蓝 -- 发布时间:2024/3/27 17:18:00 -- msgbox弹出什么内容? |
-- 作者:yifan3429 -- 发布时间:2024/3/27 17:21:00 -- [此贴子已经被作者于2024/4/10 23:14:39编辑过]
|