以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  灾难  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=34986)

--  作者:hbaijia
--  发布时间:2013/6/21 10:37:00
--  灾难

如果在该表的PrepareEdit事件中加入代码:

If e.Row("已结帐") = True AndAlso User.Group <> "经理" Then
    e.Cancel = True

else

MessageBox.Show("对于已经结帐的行,只有经理才能删除!", "提示")

End
If

那么就只有经理级别的用户才能编辑已经结帐的行。

 

如果要求只有经理才能修改折扣列的内容,可以在PrepareEdit事件中加入代码:

If e.Col.Name = "折扣" AndAlso User.Group <> "经理" Then
    e.Cancel = True

else

MessageBox.Show("对于已经结帐的行,只有经理才能修改!", "提示")


End
If

 

把上面这段放到表事件里,结果是打开有这个表的页面不停的出现上面二句话,而且想去掉都不行了。


--  作者:狐狸爸爸
--  发布时间:2013/6/21 10:40:00
--  

1、如何因对灾难:

http://www.foxtable.com/help/topics/1057.htm

 

2、应该仔细看看这个事件的说明:

http://www.foxtable.com/help/topics/0605.htm

 

其中一句话:

重要提示:千万不要在PrepareEdit事件显示Messagebox这样的对话框,因为每次进入单元格就会出现提示,这样会导致死循环的出现。

 

3、也许你应该用这个:

http://www.foxtable.com/help/topics/0615.htm

 


--  作者:hbaijia
--  发布时间:2013/6/21 10:43:00
--  

可以去掉,但为什么没有选中那列的单元格却还在执行哪


--  作者:yangming
--  发布时间:2013/6/21 12:17:00
--  

PrepareEdit

准备编辑单元格的时候执行。只要是光标进入表中的任一单元格,都会执行此事件