以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 表事件大于窗口事件要怎么处理 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=149952) |
-- 作者:lgz518 -- 发布时间:2020/5/16 12:38:00 -- 表事件大于窗口事件要怎么处理 表事件,已审核不可编辑,窗口事件:只选中可编辑,其他不可编辑,但实际中,一直执行表事件,不执行窗口事件,尽管窗口的表设为副表,也是一样 需求是,未审核,都可以编辑,包括选中字段,已审核,只有选中字段,可编辑,其他不可编辑。 表事件 If e.Row.IsNull("审核") = False Then \'如果审批列不为空 e.Cancel = True \'则禁止编辑 End If 窗口事件 If c.Name = "选中" OrElse c.Name = "选中" Else c.AllowEdit = False End If |
-- 作者:有点蓝 -- 发布时间:2020/5/16 13:41:00 -- prepareedit事件的控制和AllowEdit 是2种不同的控制编辑用法,互不干扰。主表的prepareedit事件会同时影响主表和副本 表事件 if e.table.name = "主表名称" If e.Row.IsNull("审核") = False Then \'如果审批列不为空 e.Cancel = True \'则禁止编辑 End If else ‘是副本 If e.Row.IsNull("审核") = False andalso e.col.Name <> "选中" Then e.Cancel = True \'则禁止编辑 End If end if |