以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  自定义用户管理与权限  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=57788)

--  作者:tuyage
--  发布时间:2014/10/2 19:55:00
--  自定义用户管理与权限
按照帮助文件自定义了一个用户管理,完成后之前做的目录树用户授权无效了。。研究了一段时间也没个头绪,是否只需要把目录树右边的代码哪里改下,只要能连接到自定义的用户表就可以了,以下代码如何修改才可以成功:

Dim trv1 As WinForm.TreeView = e.Form.Controls("TreeView1")
Dim
trv2 As WinForm.TreeView = e.Form.Controls("TreeView2")
Dim
nd1 As WinForm.TreeNode = trv1.SelectedNode
Dim
dr As DataRow
If
e.Node.ParentNode IsNot Nothing Then \'取消父节点的选中标记,因为选中子节点,就不要选中父节点了
e.Node.ParentNode.Checked = False
End If
For Each
cnd As WinForm.TreeNode In e.Node.Nodes \'取消子节点的选中标记,因为选中父节点,就不要选中子节点了
cnd.Checked = False
Next
If
nd1.Level = 0 Then
dr = DataTables("授权").Find("分组 = \'" & nd1.Name & "\' And 权限 Is Null")
Else
dr = DataTables("授权").Find("分组 = \'" & nd1.ParentNode.Name & "\' And 权限 = \'" & nd1.Name & "\'")
End If
If
dr IsNot Nothing Then
Dim
nms As String
For Each
nd2 As WinForm.TreeNode In trv2.AllNodes
If
nd2.Checked Then
nms = nms & "," & nd2.Name
End If
Next
If
nms > "" Then
dr("用户") = nms.Trim(",")
Else
dr("用户") = Nothing
End If
End If

--  作者:程兴刚
--  发布时间:2014/10/2 20:30:00
--  
最好做个示例文件发上来!
--  作者:tuyage
--  发布时间:2014/10/2 20:49:00
--  
程老师,下面是我的案例,我想要用户授权那个窗口新加载的新授权用户是我自定义用户里面的用户,而不是之前系统自带的用户管理里面的用户,麻烦程老师给看看了。

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目2.zip


--  作者:tuyage
--  发布时间:2014/10/2 20:53:00
--  
哎呀,程老师何时成了超级版主了都图片点击可在新窗口打开查看
--  作者:tuyage
--  发布时间:2014/10/2 21:04:00
--  
各位老师有没有在的啊,在线急等援助
--  作者:tuyage
--  发布时间:2014/10/2 21:53:00
--  
我做了如下的改动,提示未将项目引用到实例,我怀疑是For Each u As UserInfo In Users这里的问题,怎么搞,大师们给点指示吧 

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 > "" AndAlso u.Type = UserTypeEnum.User Then
        If trv2.Nodes.Contains(_UserGroup) = False Then
            trv2.Nodes.Add(_UserGroup)
        End If
        trv2.Nodes(_UserGroup).Nodes.Add( _UserName)
    End If
Next
Trv1.Nodes(0).Expand()
trv2.ExpandAll()

--  作者:zyqzyy
--  发布时间:2014/10/3 20:24:00
--  
_UserName,_UserGroup变量只保存当前登录用户信息,应该取用户表中的姓名和分组,用GetValue或GetComblistString。
--  作者:czy
--  发布时间:2014/10/3 22:00:00
--  
变量前后要用双引号连接,如:If trv2.Nodes.Contains(“& _UserGroup & ") = False Then
--  作者:有点甜
--  发布时间:2014/10/4 9:29:00
--  

代码

 

Dim trv1 As WinForm.TreeView = e.Form.Controls("TreeView1")
Dim trv2 As WinForm.TreeView = e.Form.Controls("TreeView2")
trv1.BuildTree("授权","分组|权限")

Dim cmd As new SQLCommand
cmd.ConnectionName = "user"
cmd.CommandText = "select * from {users}"
Dim dt As DataTable = cmd.ExecuteReader
trv2.BuildTree(dt,"Group|Name")

Trv1.Nodes(0).Expand()
trv2.ExpandAll()