以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  可视化授权怎么增加某分组只能查看编辑自己添加的内容  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=145838)

--  作者:潇雨
--  发布时间:2020/2/9 6:01:00
--  可视化授权怎么增加某分组只能查看编辑自己添加的内容
参考了http://www.foxtable.com/webhelp/topics/1600.htm
还需要增加一个,某用户分组只看查看编辑本分组添加的内容,别的分组添加的内容完全看不到。

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

下面代码是按照开头写的链接弄的,然后需要加上截图最后一项,也就是可以设置某表格,内容只能是添加数据的分组内用户可见,要怎么写代码。
但是不明白要怎么做到这个可视化管理里面来。

多麻烦了,谢谢

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
    For Each dr As DataRow In DataTables("权限设置").Select("部门 = \'" & User.Group & "\'" )
        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
End If

--  作者:有点蓝
--  发布时间:2020/2/9 22:09:00
--  
这种不是在可视化里设置的,需要这样:http://www.foxtable.com/webhelp/topics/2256.htm
--  作者:潇雨
--  发布时间:2020/2/9 23:19:00
--  
没办法实现可视化设置吗?因为我这面这个分组和权限方面要经常修改。每次都编辑软件的话比较麻烦。
--  作者:有点蓝
--  发布时间:2020/2/9 23:22:00
--  
分组在用户里里设置就行了,不需要更改代码呀
--  作者:潇雨
--  发布时间:2020/2/11 1:47:00
--  
比如某个分组,这个分组的权限需要经常修改成不同的,后面生成独立软件后,有什么办法快速编辑吗?
[此贴子已经被作者于2020/2/11 1:54:32编辑过]

--  作者:潇雨
--  发布时间:2020/2/11 5:53:00
--  
已解决
我这面是做家具电商的,除了自己工厂外,还有几个给我们代工的工厂。做的这个是生产进度表,我们销售部,仓库,还有自己工厂可以看到所有数据,另外别的工厂只能查看自己添加的数据。

我刚想到的办法是启用了角色,定义一个为工厂的角色。
当工厂的角色登录,只能查看对应用户分组(工厂名字)的数据,别的用户可以查看到所有数据。
表达能力差,不知道能不能看明白。
写出来给万一有跟我同样需要的人。感谢@有点蓝

If user.Roles = "工厂" Then
    DataTables("生产进度").LoadFilter = "[部门] = \'" & User.Group & "\'"
Else
    DataTables("生产进度").LoadFilter = ""
End If
DataTables("生产进度").Load()