Foxtable(狐表)用户栏目专家坐堂 → 关于权限管理


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

主题:关于权限管理

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


加好友 发短信
等级:超级版主 帖子:110738 积分:563610 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/2/3 22:57:00 [显示全部帖子]


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


加好友 发短信
等级:超级版主 帖子:110738 积分:563610 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/2/7 9:51:00 [显示全部帖子]

问题1、
1、窗口没有什么不可见或不可编辑,只能控制里面的控件不可见或不可编辑,窗口不可见,就不要打开窗口即可
2、菜单的设置这样:
e.Form.Strips("工具栏1").Items(dr("菜单名")).Visible = Not dr("不可见")
e.Form.Strips("工具栏1").Items(dr("菜单名")).Enabled Not dr("不可编辑")

问题2:
Select Case e.StripItem.Text
            Case "生产登记"
                Forms("生产登记").Open() 
            Case "生产审核"
                 Forms("编辑窗口").Open() 
           Case "销售查询"
                Forms("销售查询").Open() 
        End Select

问题3:
窗口表到窗口afterload处理,注意副本表的名称:http://www.foxtable.com/webhelp/topics/1906.htm

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


加好友 发短信
等级:超级版主 帖子:110738 积分:563610 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/2/7 16:23:00 [显示全部帖子]

回6楼,
a、哪个视频?如果是官方的可视化权限,以表格为主,对窗口和菜单不是不适合。
c、e.Form.Strips("这里是工具栏名称不是窗口名称").Items(这里是工具栏里其中一个项目的名称)

回7楼,如果是要控制窗口控件,是和表格没有关系

如果要控制窗口表格,仍然还是这里的用法:http://www.foxtable.com/webhelp/topics/1600.htm,只是授权表的表名为窗口1_table1这种而不是表A这种

    For Each dr As DataRow In DataTables("授权表").Select("用户名 = '" & User.Name & "' And 表名= '" & e.Form.Name & "'")
        If
 dr.IsNull("列名"
Then
            
Tables(dr("表名")).Visible = Not dr("不可见")
            Tables
(dr("表名")).AllowEdit = Not dr("不可编辑")

        Else
            
Tables(dr("表名")).Cols(dr("列名")).Visible = Not dr("不可见")
            Tables
(dr("表名")).Cols(dr("列名")).AllowEdit = Not dr("不可编辑"
        End
 
If
    Next


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


加好友 发短信
等级:超级版主 帖子:110738 积分:563610 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/2/7 21:49:00 [显示全部帖子]

教程里有讲到,窗口,菜单应该设计不同的表来处理,视频里是为了省事,使用了同一个表。视频里的意思表达的是可视化权限可以使用类似的方法来做,但并不是所有的都是同样的处理方法,要根据实际情况进行必要的扩展的。

实际上表格只有2层,表和列,不存在递归的关系,但是窗口,可能还会有容器控件(分区面板、页面集合、panel等等),容器还可以嵌套容器,导致窗口可能会有多层的递归处理的。更何况一个窗口,根据这种权限设置后,一部分控件看不到,空出来的地方给人的感觉坑坑洼洼的,好看吗?所以一般窗口权限的处理都比较粘,就是说往往是要靠大量的代码结合业务逻辑来控制,而不是简单的视频里这种可视化设置。

菜单也一样,还分功能区、功能组、按钮、工具栏等等,绝对不是表名列名这种简单的设置可以概括的。

建议还是好好看看2楼里几个实例吧,都有现成的项目实例,对菜单,窗口的控制都有一定的理解的

 回到顶部