以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  可视化授权:同样代码,为何改为外部数据源就无效呢?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=33492)

--  作者:zerov
--  发布时间:2013/5/19 14:20:00
--  可视化授权:同样代码,为何改为外部数据源就无效呢?
将《教程中的》可视化授权移植到例子中的外部数据源后,为何无效呢?(外部数据源中,用户表为Users,用户名列为:UserName,数据源名为User)
代码如下:

For Each t As Table In Tables \'显示所有表和列
    t.Visible = True
    t.AllowEdit = True
    For Each c As Col In t.Cols
        c.Visible = True
        c.AllowEdit = True
    Next
Next
Tables("授权表").Visible = (User.Type <> UserTypeEnum.User )
If  User.Type <> UserTypeEnum.User Then
    Return
End If

For Each dr As DataRow In DataTables("授权表").Select("用户名 = \'" & User.Name & "\'" ) ‘这个地方要修改成外部数据源的用户名列吗?
    If dr.IsNull("列名") Then
        Tables(dr("表名")).Visible = Not dr("不可见")
        Tables(dr("表名")).AllowEdit = Not dr("不可编辑")
    Else
        Dim nms() As String = dr("列名").Split(",")
        For Each nm As String In nms
            Tables(dr("表名")).Cols(nm).Visible = Not dr("不可见")
            Tables(dr("表名")).Cols(nm).AllowEdit = Not dr("不可编辑")
        Next
    End If
Next


--  作者:zerov
--  发布时间:2013/5/19 14:47:00
--  
这是User表

图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

--  作者:zerov
--  发布时间:2013/5/19 15:14:00
--  
("用户名 = \'" & User.Name & "\'" )应改为: ("用户名 = " & _UserName & "" ),能正确显示用户名,但还是不能正确授权。(  _UserName为全局代码)
[此贴子已经被作者于2013-5-19 15:14:27编辑过]

--  作者:zerov
--  发布时间:2013/5/19 21:05:00
--  

[此贴子已经被作者于2013-5-20 9:30:26编辑过]

--  作者:zerov
--  发布时间:2013/5/20 9:31:00
--  
狐爸在不?还有各位大师们呢?可怜的小白呀,白天要忙工作,晚上才有时间弄一下自己的系统,还得挤在上下班时间公交车上看教程。
--  作者:Bin
--  发布时间:2013/5/20 9:47:00
--  
在FOR循环里弹出一下-UserNAME 确保有进入到FOR循环并且正常获得USERNAME
--  作者:zerov
--  发布时间:2013/5/20 17:21:00
--  
还是不行,晚上再捣鼓吧。
--  作者:有点甜
--  发布时间:2013/5/21 6:07:00
--  

新版本已经有这个功能了,没有必要自己写用户管理了:

 

http://www.foxtable.com/help/topics/2723.htm

 


--  作者:zerov
--  发布时间:2013/5/21 15:13:00
--  回复:(有点甜)新版本已经有这个功能了,没有必要自...
自己的订制的、合身的可视化授权是必要