提示的双重出现问题。大家帮帮忙看看.....在线等待!!

zero2002 2002-06-05 07:52:08
dw_1的itemfocuschanged事件:
if is_columnname = "wzmc" then
dw_1.accepttext()
if len(dw_1.getitemstring(dw_1.getrow(),"wzmc")) = 0 or isnull .getitemstring(dw_1.getrow(),"wzmc")) then
messagebox("提示:","物资名称不能为空!",Exclamation!, OK!, 1)
dw_1.setcolumn("wzmc")
return 1

end if
is_columnname= dwo.name///is_columnname是实例变量

我的目的:当wzmc列出现空时,按回车(若wzmc列输入正常的化,焦点移到下一行),提示出错,并且焦点定在此列。
出现的问题:错误提示总是弹出出两次,
怎么解决呢,
...全文
28 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
qianfl 2002-06-05
  • 打赏
  • 举报
回复
写在itemchanged事件中!
zero2002 2002-06-05
  • 打赏
  • 举报
回复
哎,还是不好使啊
lucky1978 2002-06-05
  • 打赏
  • 举报
回复
我可以实现,鼠标,tab,回车的改变提示错误信息!数据不会立刻写入缓冲区中,除非出现下面情况 用户按下 Enter 键l 用户按下 Tab 键跳到下一个字段l 用户按下鼠标键跳到其它字段l 运行 AcceptText ( )函数

AcceptText( )函数与GetText( )函数的比较?
l AcceptTect ( )∶将编辑控件中的数据写入数据窗口缓冲区中。l GetText ( )∶读取编辑控件的文字。

试试 AcceptText( ) 是否= 1
WorldMobile 2002-06-05
  • 打赏
  • 举报
回复
如果还出现两次提示,那就是你的losefocus中还有Accepttext,你就这么写吧
if dwo.name = "wzmc" then
if len(data) = 0 or isnull(data) then
post Function messagebox("提示:","物资名称不能为空!")
dw_1.post Function setcolumn("wzmc")
return 1
end if
end if
is_columnname = dwo.name
WorldMobile 2002-06-05
  • 打赏
  • 举报
回复
对了你这么写
if dwo.name = "wzmc" then
if len(data) = 0 or isnull(data) then
messagebox("提示:","物资名称不能为空!")
dw_1.post Function setcolumn("wzmc")
return 1
end if
end if
is_columnname = dwo.name
WorldMobile 2002-06-05
  • 打赏
  • 举报
回复
zero2002(呵呵)
你试过没有,就是你的AcceptText的问题,你可以单步执行一下,肯定执行到Accepttext函数又从头开始执行,没有人在ItemChanged事件中写Accepttext函数,你试的有什么问题告诉我?
xiongxiao 2002-06-05
  • 打赏
  • 举报
回复
你把那return 1改成return 2 or return 0试试。
zero2002 2002-06-05
  • 打赏
  • 举报
回复
具体做法,(代码怎么写啊?)
xiongxiao 2002-06-05
  • 打赏
  • 举报
回复
就是这里啦, 你按回车触发了这事件两次,应该在这里当出错的时候屏蔽掉你的自定义事件。
zero2002 2002-06-05
  • 打赏
  • 举报
回复
不管用啊,对了,我还在dw_1中自定义了ue_processenter 事件,即按回车,自动跳转下一列,不知道是不是这里的毛病,
WorldMobile 2002-06-05
  • 打赏
  • 举报
回复
在itemchanged的事件中不要用Accepttext,用了以后它又触发了itemchanged,这容易出现问题,你可以这么写
if is_columnname = "wzmc" then
if len(data) = 0 or isnull(data) then
messagebox("提示:","物资名称不能为空!",Exclamation!, OK!, 1)
dw_1.post Function setcolumn("wzmc")
return 1
end if
end if

1,075

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧