以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]窗口角色权限 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=102290) |
-- 作者:沪上游客 -- 发布时间:2017/6/16 17:32:00 -- [求助]窗口角色权限 Dim ctl As WinForm.Control = e.Sender Select Case ctl.BindingField Case "增值税发票开票登记.合同编号","增值税发票开票登记.申请日期","增值税发票开票登记.外经证开票日期" If User.IsRole("开票录入") Then ctl.ReadOnly = BooleanEnum.False \'允许编辑 Else MessageBox.show("你不能修改该记录!") ctl.ReadOnly = BooleanEnum.True \'禁止编辑 End If End Select 原已审批的记录已锁定,在窗口全局事件Enter中加入上面代码后,只要是角色为“开票录入”的用户可以更改已锁定的记录数据。我的目的是如果已审批锁定的行任何用户不能修改,除非取消锁定。请老师指教一下。谢谢!
|
-- 作者:有点色 -- 发布时间:2017/6/16 18:33:00 -- Dim ctl As WinForm.Control = e.Sender
Select Case ctl.BindingField
Case "增值税发票开票登记.合同编号","增值税发票开票登记.申请日期","增值税发票开票登记.外经证开票日期"
If User.IsRole("开票录入") Then
ctl.ReadOnly = BooleanEnum.False \'允许编辑
Tables("增值税发票开票登记").Current("合同编号").locked = False
Else
MessageBox.show("你不能修改该记录!")
ctl.ReadOnly = BooleanEnum.True \'禁止编辑
End If
End Select
你在leave事件,记得重新locked一下。
|
-- 作者:沪上游客 -- 发布时间:2017/6/17 13:48:00 -- 谢谢! 你在leave事件,记得重新locked一下。 这个代码应该怎么写? 谢谢!我做了半天没做出来,我是菜鸟啊 是不是每一列都要写代码?
[此贴子已经被作者于2017/6/17 13:53:15编辑过]
|
-- 作者:有点蓝 -- 发布时间:2017/6/17 15:08:00 -- leave事件 Tables("增值税发票开票登记").Current("合同编号").locked = true
|
-- 作者:沪上游客 -- 发布时间:2017/6/17 17:20:00 -- 谢谢!已解决。 Dim ctl As WinForm.Control = e.Sender Select Case ctl.BindingField Case "增值税发票开票登记.合同编号","增值税发票开票登记.申请日期","增值税发票开票登记.外经证开票日期" If User.IsRole("开票录入") Then If Tables("增值税发票开票登记").Current("审批") = False ctl.ReadOnly = BooleanEnum.False \'允许编辑 Else MessageBox.show("你不能修改该记录!") ctl.ReadOnly = BooleanEnum.True \'禁止编辑 End If End If End Select 请帮我再看一下,总觉得少了点什么?谢谢!
|
-- 作者:有点蓝 -- 发布时间:2017/6/17 17:22:00 -- 请用2楼代码 |