Foxtable(狐表)用户栏目专家坐堂 → [求助]如何调用外部数据源里的用户


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

主题:[求助]如何调用外部数据源里的用户

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


加好友 发短信
等级:幼狐 帖子:188 积分:1613 威望:0 精华:0 注册:2013/5/21 17:44:00
[求助]如何调用外部数据源里的用户  发帖心情 Post By:2014/8/15 16:58:00 [只看该作者]

我按帮助制作了一个目录树形式的授权窗口,但我的
用户是外部数据源按帮助(
自定义用户与权限管理之一)做的,如何修改才能调用外部用户。

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

[此贴子已经被作者于2014-8-15 17:03:48编辑过]

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


加好友 发短信
等级:幼狐 帖子:188 积分:1613 威望:0 精华:0 注册:2013/5/21 17:44:00
  发帖心情 Post By:2014/8/15 17:46:00 [只看该作者]

请哪位版主帮指导下

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/8/15 17:48:00 [只看该作者]

 取决于你的外部数据源的表结构是怎样的,不同的表结构,代码也不同,你做个例子发上来吧。


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/8/15 17:51:00 [只看该作者]

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(
"授权","分组|权限")
trv1.BuildTree("外部用户表","组别|用户名")
Trv1.Nodes(
0
).Expand()
trv2.ExpandAll()


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


加好友 发短信
等级:幼狐 帖子:188 积分:1613 威望:0 精华:0 注册:2013/5/21 17:44:00
  发帖心情 Post By:2014/8/15 18:00:00 [只看该作者]

谢谢,已解决。

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


加好友 发短信
等级:幼狐 帖子:188 积分:1613 威望:0 精华:0 注册:2013/5/21 17:44:00
  发帖心情 Post By:2014/8/18 11:01:00 [只看该作者]

断续以上问题,自定义函数应该如何修改?
If User.Type <> UserTypeEnum.User Then ' 如果是开发者或者管理员
    Return True '则具备所有权限
End If
Dim dt As DataTable = DataTables("授权")
Dim dr As DataRow
'首先判断分组的授权用户是否包括此用户或此用户所属的权限分类
dr = dt.Find("权限分类 = '" & args(0) & "' And 权限 Is Null" )
If dr Is Nothing Then
    MessageBox.show("不存在名为""" & args(0) & "权限分类!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    Return False
End If
If dr.IsNull("用户") = False Then
    Dim nms() As String = dr("用户").Split(",")
    For Each nm As String In nms
        If nm = User.Group OrElse nm = User.Name Then '如果授权用户包括登录用户所属的权限分类或其用户名
            Return True '返回True
        End If
    Next
End If
'然后判断权限的授权用户是否包括此用户或此用户所属的权限
If Args(1) = "" Then
    Return False
End If
dr = dt.Find("权限分类 = '" & args(0) & "' And 权限 = '" & args(1) & "'")
If dr Is Nothing Then
    MessageBox.show("不存在名为""" & args(1) & "权限!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    Return False
End If
If dr.IsNull("用户") = False Then
    Dim nms() As String = dr("用户").Split(",")
    For Each nm As String In nms
        If nm = User.Group OrElse nm = User.Name Then '如果授权用户包括登录用户所属的分组或其用户名
            Return True '返回True
        End If
    Next
End If
Return False

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/8/18 11:04:00 [只看该作者]

 这句去掉

 

If User.Type <> UserTypeEnum.User Then ' 如果是开发者或者管理员
    Return True '则具备所有权限
End If

 

--------------

 

下面的 User.Name User.Group 改成对应的 _UserName _UserGroup

 


 回到顶部