Foxtable(狐表)用户栏目专家坐堂 → [求助]可视化授权不稳定,求解


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

主题:[求助]可视化授权不稳定,求解

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


加好友 发短信
等级:童狐 帖子:241 积分:1782 威望:0 精华:0 注册:2015/7/13 14:36:00
[求助]可视化授权不稳定,求解  发帖心情 Post By:2016/4/2 14:31:00 [只看该作者]

代码如下:

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("',' + 用户名 + ',' like '%," & 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

我的表都是窗口下的Table,用户是外部数据库,用了上面代码,进入软件后,只勾选表,不勾选列,部分表照样可以编辑,

现在我把列都勾选上了,权限就生效了。

这是什么情况啊。
[此贴子已经被作者于2016/4/2 14:59:52编辑过]

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


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By:2016/4/2 15:34:00 [只看该作者]

设置的是Tables,其它窗口副本表不会受影响,试试加上
DataTables(dr("表名")).AllowEdit = Not dr("不可编辑")

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


加好友 发短信
等级:童狐 帖子:241 积分:1782 威望:0 精华:0 注册:2015/7/13 14:36:00
  发帖心情 Post By:2016/4/2 16:21:00 [只看该作者]

谢谢,我去试试

 回到顶部