Foxtable(狐表)用户栏目专家坐堂 → 目标树形式的授权人员生成目录树代码问题


  共有3911人关注过本帖平板打印复制链接

主题:目标树形式的授权人员生成目录树代码问题

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


加好友 发短信
等级:三尾狐 帖子:688 积分:4903 威望:0 精华:0 注册:2013/10/27 17:14:00
目标树形式的授权人员生成目录树代码问题  发帖心情 Post By:2014/2/27 22:34:00 [只看该作者]

官方代码:

 

 

授权_AfterLoad

 

Dim trv1 As WinForm.TreeView = e.Form.Controls("TreeView1")

Dim trv2 As WinForm.TreeView = e.Form.Controls("TreeView2")

trv1.BuildTree("授权","分组|权限")

For Each u As UserInfo In Users

    If u.Type = UserTypeEnum.User Then '排除管理员和开发者

        If trv2.Nodes.Contains(u.Group) = False Then

            trv2.Nodes.Add(u.Group)

        End If

        trv2.Nodes(u.Group).Nodes.Add(u.Name)

    End If

Next

Trv1.Nodes(0).Expand()

trv2.ExpandAll()

 

该段代码执行的时候,如果系统有用户未指定用户分组时,则程序执行会报错。

 

如果代码修正为:

 

Dim trv1 As WinForm.TreeView = e.Form.Controls("TreeView1")
Dim trv2 As WinForm.TreeView = e.Form.Controls("TreeView2")
trv1.BuildTree("授权","分组|权限")
For Each u As UserInfo In Users
    If u.Group <> ""  ‘分组为空时过滤掉
        If u.Type = UserTypeEnum.User Then
            If trv2.Nodes.Contains(u.Group) = False Then
                trv2.Nodes.Add(u.Group)
            End If
            trv2.Nodes(u.Group).Nodes.Add(u.Name)
        End If
    End If
Next
Trv1.Nodes(0).Expand()
trv2.ExpandAll()

 

 

加上已上判断,程序运行不会报错。程序正常运行,但未分组用户不能显示在目录树中,从而不能进行授权。

此时能否做到,将分组为空的用户 ,全部自动归纳到“未分组”用户中,从而能进行用户授权。


 回到顶部