以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 可视化授权:同样代码,为何改为外部数据源就无效呢? (http://foxtable.net/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表 |
-- 作者: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 -- 回复:(有点甜)新版本已经有这个功能了,没有必要自... 自己的订制的、合身的可视化授权是必要 |