以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 这段全局表PrepareEdit代码有误么? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=73309) |
-- 作者:everybody -- 发布时间:2015/8/17 0:42:00 -- 这段全局表PrepareEdit代码有误么? 要求:当表1,表2,表3中的归档列打勾时,只有管理员才能进行修改。
这个代码貌似无效,错在哪里?
\'指定表设定,归档后不能编辑,只有管理者组的人才能修改 |
-- 作者:y2287958 -- 发布时间:2015/8/17 6:52:00 -- 试试: Select Case e.Table.Name
Case "表1","表2","表3" If e.Row("归档") = True e.Cancel = Not User.IsRole("管理员") End If End Select |
-- 作者:everybody -- 发布时间:2015/8/17 8:31:00 -- 实测2楼一样无效,奇怪了!!!!!!!!!!
继续等高手指教 |
-- 作者:大红袍 -- 发布时间:2015/8/17 9:08:00 -- 1、你的全局事件是否开启了?
2、加入output.show(User.Roles) 看看是否进入了事件。 |
-- 作者:everybody -- 发布时间:2015/8/17 9:44:00 -- 1、全局事件已开
For Each dt As DataTable In DataTables
2、再测试下 |
-- 作者:everybody -- 发布时间:2015/8/17 10:46:00 -- 实测,加入 output代码后,没有弹出窗口,那咋整啊?这个时候用户信息已经载入了的啊!
Select Case e.Table.Name If e.Row("归档") = True AndAlso User.IsRole("管理员") Then
ps: 全局事件已开
For Each dt As DataTable In DataTables [此贴子已经被作者于2015/8/17 10:47:07编辑过]
|
-- 作者:大红袍 -- 发布时间:2015/8/17 10:48:00 -- 打开命令窗口调试 http://www.foxtable.com/help/topics/2642.htm
|
-- 作者:everybody -- 发布时间:2015/8/17 11:37:00 -- 重读全局表时间n遍,http://www.foxtable.com/help/index.html?n=2642.htm
Select Case e.Table.Name ------------vs Select Case e.DataTable.Name 两者是table与datatable的区别,但实际上写成e.DataTable.Name 是通不过的啊!!!! 或者: Select Case e.DataTable.Name |
-- 作者:everybody -- 发布时间:2015/8/17 11:41:00 -- 比如,我写成如下 ,就会提示错误
Select Case e.dataTable.Name --------------------------》这里改成了datatable If e.Row("归档") = True AndAlso User.IsRole("管理员") Then |
-- 作者:大红袍 -- 发布时间:2015/8/17 12:15:00 -- 看显示什么,不进入,就说明条件不对啊。
output.show(date.Now) Select Case e.Table.Name output.show(date.Now) If e.Row("归档") = True AndAlso User.IsRole("管理员") Then |