Foxtable(狐表)用户栏目专家坐堂 → 目录树自动生成的问题


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

主题:目录树自动生成的问题

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


加好友 发短信
等级:小狐 帖子:361 积分:3436 威望:0 精华:0 注册:2012/7/24 7:15:00
目录树自动生成的问题  发帖心情 Post By: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编辑过]

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


加好友 发短信
等级:超级版主 帖子:106097 积分:539590 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/4/20 20:45:00 [只看该作者]

代码没有问题。放到哪个事件的?数据表有没有加载数据?

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


加好友 发短信
等级:小狐 帖子:361 积分:3436 威望:0 精华:0 注册:2012/7/24 7:15:00
  发帖心情 Post By: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编辑过]

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


加好友 发短信
等级:超级版主 帖子:106097 积分:539590 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By: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
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:361 积分:3436 威望:0 精华:0 注册:2012/7/24 7:15:00
  发帖心情 Post By:2018/4/21 20:31:00 [只看该作者]

已经可以了,老师,谢谢!

 回到顶部