以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 目录树自动生成的问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=117922) |
-- 作者:deliangzhaoe -- 发布时间:2018/4/20 20:22:00 -- 目录树自动生成的问题 想要目录树2、3、4自动生成,如果是管理员登录,则根据所有行生成目录树,如果是非管理员登录,则仅根据本公司的行生成目录树。用户分组依据为企业名称。 下面这段代码不生成目录树,怎样改一下?谢谢 \'打开页面后,依据《组织机构和职责》,《安全目标》自动生成目录树,展开目录树所有节点 Dim tr1 As WinForm.TreeView = e.Form.Controls("TreeView1") tr1.ExpandAll() Dim tr2 As WinForm.TreeView = e.Form.Controls("TreeView2") Dim tr3 As WinForm.TreeView = e.Form.Controls("TreeView3") If _usergroup = "管理员" Then tr2.BuildTree("组织机构和职责", "企业名称|部门设置|岗位设置|第四层机构设置|第五层机构设置|第六层机构设置") tr3.BuildTree("年度安全目标", "企业名称|目标主题|目标内容") Else tr2.BuildTree("组织机构和职责", "企业名称|部门设置|岗位设置|第四层机构设置|第五层机构设置|第六层机构设置" ,"企业名称 = \'" & _Usergroup & "\'") tr3.BuildTree("年度安全目标", "企业名称|目标主题|目标内容","企业名称 = \'" & _Usergroup & "\'") End If tr2.ExpandAll() tr3.ExpandAll() Dim tr4 As WinForm.TreeView = e.Form.Controls("TreeView4") tr4.BuildTree("年度安全目标", "企业名称|目标主题|目标内容") tr4.ExpandAll()
[此贴子已经被作者于2018/4/20 20:22:55编辑过]
|
-- 作者:有点蓝 -- 发布时间:2018/4/20 20:45:00 -- 代码没有问题。放到哪个事件的?数据表有没有加载数据? |
-- 作者:deliangzhaoe -- 发布时间:2018/4/21 5:44:00 -- 1.目录树放在窗口的页面集合中,代码放在窗口的afterload中。 2.用户登录窗口的登录按钮设置了如下代码: \'登录后,表只加载当前企业的数据 For Each qymc As DataTable In DataTables If qymc.datacols.Contains("企业名称") Then If _usergroup = "管理员" Then qymc.Loadfilter = "" qymc.load Else qymc.Loadfilter = "企业名称 = \'" & _Usergroup & "\'" qymc.load End If End If Next 项目打开后先登录,后打开主窗口。 3.以前的代码没有"企业名称 = \'" & _Usergroup & "\'"这句,目录树能显示出来,但是不管是谁登录,显示的结果和管理员登录时显示的是一样的,后来改成了这样,就全部不显示了
[此贴子已经被作者于2018/4/21 5:50:30编辑过]
|
-- 作者:有点蓝 -- 发布时间:2018/4/21 10:01:00 -- msgbox(_Usergroup) 看看登录的组是什么? 试试 For Each qymc As DataTable In DataTables If qymc.datacols.Contains("企业名称") andalso _usergroup <> "管理员" Then qymc.Loadfilter = "企业名称 = \'" & _Usergroup & "\'" qymc.load Else qymc.Loadfilter = "" qymc.load End If Next |
-- 作者:deliangzhaoe -- 发布时间:2018/4/21 20:31:00 -- 已经可以了,老师,谢谢! |