以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  某列的编辑权限  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=196470)

--  作者:foxyuan
--  发布时间:2025/4/29 21:53:00
--  某列的编辑权限
分部分对表格的编辑授权,如果是工程管理部,只有经理才能编辑其中的两列,其他的都没有权限进行编辑。在afterOpenProjec中如下代码,经理也是全部不能编辑。如何修改?

if   then   
ElseIf User.Group = "工程管理部" Then
        DataTables("合同台账").AllowEdit = False
        Tables("合同台账").AllowEdit = False
        If User.IsRole("经理") Then
            DataTables("合同台账").DataCols("项目经理").AllowEdit = True
            Tables("合同台账").Cols("项目经理").AllowEdit = True
            DataTables("合同台账").DataCols("项目管理人员").AllowEdit = True
            Tables("合同台账").Cols("项目管理人员").AllowEdit = True 
        End If
end if 


startedit事件如下,也不起作用。
Select Case e.Col.Name
    Case "审核", "项目经理", "项目管理人员"
        If User.Group = "工程管理部" AndAlso User.IsRole("经理") = True Then 
            e.Cancel = False 
        End If
End Select




--  作者:有点蓝
--  发布时间:2025/4/29 22:23:00
--  
放到PrepareEdit事件http://www.foxtable.com/webhelp/topics/2255.htm

Select Case e.Col.Name
    Case "审核", "项目经理", "项目管理人员"
        If User.Group <> "工程管理部" orelse User.IsRole("经理") = falseThen 
            e.Cancel = true
        End If
End Select