老师,我有一个数据表,有以下数据列,选择(逻辑列),经办人(字符),上报确认(字符),审核(字符,人名),状态(字符)。状态列由菜单按钮控制(值分别为锁定、解锁),现在要求:
1、无论状态列是否为锁定,选择列都可以编辑;
2、当状态列的值为“锁定”时,除“选择”列外,其他列不可编辑,但“状态”列除外,否则就无法解锁;此时该行无论是谁均不可删除
3、当状态列的值为“解锁”时,但审核列的值不为空时,除“选择”和“状态”列外,其他列也不可编辑;此时该行无论是谁均不可删除
4、当状态列的值为“解锁”,且审核列的值为空,但上报确认列的值不为空时,除“选择”“状态”“审核”列外,其他列不可编辑,此时该行也不可删除;
5、当状态列的值为“解锁”,审核列的值为空,上报确认列的值为空时,登录人为经办人时,可以编辑,可以删除当前行。
麻烦老师帮编一下代码,我弄了一下,要反是全部不能编辑,要么是没有限制,全部能编辑。
If e.Col.Name = "XZH" Then
If User.Roles <> "部门负责人" AndAlso User.Roles <> "经办人" AndAlso User.Roles <> "公司负责人" AndAlso User.name <> "管理员" Then
If e.Row("管理单位") <> User.GROUP OrElse e.Row("经办人") <> User.NAME Then '在编辑某行前,会自动判断负责此行的部门列是否和登录用户所属分组相同,如果不同,则取消编辑.
End If
End If
ElseIf e.Col.Name = "状态" Then
If e.Row("状态") = "锁定"
If user.name <> "管理员"
e.Cancel = True
MessageBox.Show("数据已被锁定,不能编辑!!")
ElseIf e.Row("审核") = NOT Nothing
e.Cancel = True
MessageBox.Show("数据已审核上报,不能编辑!!")
End If
End If
End If
[此贴子已经被作者于2015/12/28 9:58:25编辑过]