动态增加的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编辑过]
去掉了,还是会加载
全部的数据,而不是被筛选出来的数据
我是用的插入是窗体目录树 使用的工具不对还是什么原因?
[此贴子已经被作者于2024/3/27 12:11:23编辑过]
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编辑过]
调试看看
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)
此主题相关图片如下:企业微信截图_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编辑过]
[此贴子已经被作者于2024/4/10 23:14:39编辑过]