-- 作者:he_changping
-- 发布时间:2012/11/8 11:55:00
--
此主题相关图片如下:表.png
就这样一个表,采用窗口独占方式录入。希望审批后的行,除审批逻辑列单元格外均不能修改。审批列只有授权人才能修改,审批后在后面单元格添加上审批时间和审批人(这个现在没问题了)。代码如下:
以下是d "prepereedit"事件中的代码。
Output.Clear()
If e.Col.Name = "分部审批" Then
If User.Group <> "管理组" Then \'只有管理组成员才能审批 e.Cancel = True End If Output.Show(1) If e.Row("分部审批") = True Then \'如果此行已经审批了,则禁止修改 e.Cancel = False e.Row("审批时间") = Date.Today.Now() e.Row("审批人") = User.Name Output.Show(2) Else e.Row("审批时间") = Nothing e.Row("审批人") = " " Output.Show(3) End If End If e.Cancel = True
现在的问题是,如果不加最后的e.Cancel = True录入窗口又不能加载。加了这条语句,逻辑列又无法更改。以下是在DoubleClick事件中的代码:
e.Row.Load() \'重新加载此行 If e.Row.IsNull("编辑者") = False AndAlso e.Row("编辑者") <> User.Name Then \'判断是否有人编辑 MessageBox.Show(e.Row("编辑者") & "正在编辑此行!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information) Else e.Row("编辑者") = User.Name \'设置编辑者列为当前用户 e.Row.Save() \'并立即保存 If e.Row("分部审批") = False Then Forms("加班统计").Open() \'打开编辑窗口 End If End If
|