Foxtable(狐表)用户栏目专家坐堂 → 求助:非开发者或非管理员登录问题


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

主题:求助:非开发者或非管理员登录问题

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


加好友 发短信
等级:一尾狐 帖子:454 积分:3217 威望:0 精华:0 注册:2019/11/3 22:21:00
  发帖心情 Post By:2022/2/11 6:54:00 [只看该作者]

1、项目LoadUserSetting代码

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("yh1").Visible = (User.Type <> UserTypeEnum.User )'非开发者或管理员不可见此表
If User.Type = UserTypeEnum.User Then
    For Each dr As DataRow In DataTables("yh1").Select("用户名 = '" & User.Name & "'" )
        If dr.IsNull("列名") Then
            Tables(dr("授权项目")).Visible = Not dr("不可见")
            Tables(dr("授权项目")).AllowEdit = Not dr("不可编辑")
            DataTables(dr("授权项目")).AllowClipBoard = Not dr("不可复制")
        Else
            Tables(dr("授权项目")).Cols(dr("列名")).Visible = Not dr("不可见")
            Tables(dr("授权项目")).Cols(dr("列名")).AllowEdit = Not dr("不可编辑")
            DataTables(dr("授权项目")).AllowClipBoard = Not dr("不可复制")
        End If
    Next
End If




 回到顶部
帅哥,在线噢!
有点蓝
  12楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107648 积分:547549 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/2/11 8:30:00 [只看该作者]

很简单的道理,没有加载的表格,权限代码里用到肯定会出错啊!判断表格是否有加载

    For Each dr As DataRow In DataTables("yh1").Select("用户名 = '" & User.Name & "'" )
if  Tables.contains(dr("授权项目")) then
        If dr.IsNull("列名") Then
            Tables(dr("授权项目")).Visible = Not dr("不可见")
……

AfterOpenProject代码

Syscmd.Project.Update(False,False) '这一句去掉,多余
If Syscmd.Project.Update(False,False) = False Then '如果没有升级
其它所有代码都放进if判断里
If User.Type <> UserTypeEnum.Developer '隐藏表名,仅开发者可见.
    TableCaptionVisible = False
End If
    forms("主界面").open '打开窗口
    forms("背景窗口").open '打开背景窗口
    MainTable = Tables("A") '打开背景主表 '原AfterOpenProject事件代码
    HttpServer.Start() '开启http服务器
    If user.Type = userTypeEnum.user Then '非开发者或管理员不可见下列表
        Tables("yh1").Visible = False
    End If
End If

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


加好友 发短信
等级:一尾狐 帖子:454 积分:3217 威望:0 精华:0 注册:2019/11/3 22:21:00
  发帖心情 Post By:2022/2/11 10:05:00 [只看该作者]

这是授权表

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

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

[此贴子已经被作者于2022/2/11 10:05:47编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  14楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107648 积分:547549 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/2/11 10:17:00 [只看该作者]

不加载的表格相当于在项目里是不存在的,无法使用,还要怎么说才明白!

 回到顶部
帅哥,在线噢!
有点蓝
  15楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107648 积分:547549 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/2/11 10:21:00 [只看该作者]

如果使用按钮加载的,应该在按钮加载代码之后再去控制这些加载的表格的权限

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


加好友 发短信
等级:一尾狐 帖子:454 积分:3217 威望:0 精华:0 注册:2019/11/3 22:21:00
  发帖心情 Post By:2022/2/11 14:18:00 [只看该作者]

谢谢版主,加了条件判断后问题解决:if  Tables.contains(dr("授权项目")) then

 回到顶部
总数 16 上一页 1 2