Foxtable(狐表)用户栏目专家坐堂 → 可视化授权:同样代码,为何改为外部数据源就无效呢?


  共有4717人关注过本帖平板打印复制链接

主题:可视化授权:同样代码,为何改为外部数据源就无效呢?

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


加好友 发短信
等级:四尾狐 帖子:867 积分:6210 威望:0 精华:0 注册:2012/11/24 20:44:00
可视化授权:同样代码,为何改为外部数据源就无效呢?  发帖心情 Post By: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


 回到顶部