以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  权限问题,请教老师  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=178340)

--  作者:xiaofei_00
--  发布时间:2022/6/30 14:18:00
--  权限问题,请教老师
Dim r As Row = Tables("ftdjb").Current
If e.Col.Name = "已发图" Then 
    If e.Row.isnull("发图人")  Then
        e.cancel=True
        MessageBox.Show("确认发图前,发图人必须填写!", "提示") 
     Else
        r("已发图") = True
        r.Save()
    End If
End If

老师我在表属性PrepareEdit时间中增加以上代码,作用是当“发图人”列为空时给出提示,如果不为空,将逻辑列“已发图”变为真。我实操了下,提示没有问题,但是当发图人列不为空时点击“已发图”列没有反应?什么原因呢?

--  作者:有点蓝
--  发布时间:2022/6/30 14:37:00
--  
首先:http://www.foxtable.com/webhelp/topics/0605.htm

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

其次:这种用法应该到datacolchanged事件处理

--  作者:xiaofei_00
--  发布时间:2022/6/30 16:08:00
--  
解决了,感谢