Rss & SiteMap
Foxtable(狐表) http://www.foxtable.com
再请教你一个问题行吗,我想在销售单价列编辑好以后,不是马上不允许编辑,而是保存好以后不允许编辑,怎么设计? |
让不同用户编辑不同的列
假定一个表,要求:
1、禁止张三和李四编辑第一列、第二列和第三列。
2、禁止王五和赵六编辑第四列、第五列和第六列。
3、只有张经理编辑才能编辑第十列。
为此可将此表的PrepareEdit事件代码设置为:
Select
Case
User.Name
Case
"张三","李四"
Select
Case
e.Col.Name
Case
"第一列","第二列","第三列"
e.Cancel = True
End
Select
Case
"王五", "赵六"
Select
Case e.Col.Name
Case
"第四列","第五列","第六列"
e.Cancel = True
End
Select
End
Select
If e.Col.Name =
"第十列"
Then
If User.Name <> "张经理"
Then
e.Cancel = True
End
If
End
If
实际应用的时候,将上述代码替换为具体的列名和用户名即可。
上面的代码是基于用户名的,同样可以改为基于用户分组的,只需将上述代码中的User.Name改为User.Group,并将用户名替换为分组名即可。
谢谢指教
在PrePareEdit事件中判断行的状态,如果不是新增行,就只允许某些人编辑。
http://www.foxtable.com/help/topics/0605.htm
http://www.foxtable.com/help/topics/0428.htm
例如将prepareedit事件代码设置为:
If e.Row.DataRow.RowState <> DataRowState.Added Then
e.cancel = True
End If
就只允许编辑新增加的行,无法编辑已经保存的行。
太感谢你了
太感谢你了 |