在线求助------itemchange 事件

bigtailwolf163 2004-04-20 05:05:23
itemchange:
choose case lower(dwo.name)
case 'deptid'
if condistion then return 1
end choose

itemerror
choose case lower(dwo.name)
case 'deptid'
messagebox('', 'error.')
return 1
end choose

'deptid'是一个ddlb型的字段,当满足条件condistion时显示messagebox,同时deptid的值跳回原值。

可是我的messagebox会显示两次,一次显示deptid值不变,第二次显示时deptid才跳回原值?如果'deptid'换成radiobuttons类型时就不会出现此类问题。 为什么呢?

请大家帮帮忙,我都试了一个下午了>(

...全文
103 13 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
huhu_yxf 2004-04-28
  • 打赏
  • 举报
回复
设置了校验规则自动触发了一次,然后自己的代码又触发一次。就这样。
huhu_yxf 2004-04-26
  • 打赏
  • 举报
回复
guanzhu
feixianzhi 2004-04-23
  • 打赏
  • 举报
回复
itemchange事件只在失去焦点或按回车键才触发,可能被触发两次了!
艳阳天11 2004-04-23
  • 打赏
  • 举报
回复
是不是在定义数据窗口时设置了检验功能
QQgenie 2004-04-23
  • 打赏
  • 举报
回复
我也是,UP~
bigtailwolf163 2004-04-23
  • 打赏
  • 举报
回复
up
xiao_bai 2004-04-23
  • 打赏
  • 举报
回复
会不会继承了部分祖先脚本了?那里面有影响!
bigtailwolf163 2004-04-23
  • 打赏
  • 举报
回复
触发两次是一定的,但用什么办法让它只触发一次呢?

用radiobuttons类型就不会这样。为什么呢?
guojing590 2004-04-21
  • 打赏
  • 举报
回复
up
haisha 2004-04-21
  • 打赏
  • 举报
回复
因为 “当满足条件condistion时显示messagebox,同时deptid的值跳回原值” 时又触发了一次 itemerror 事件,其实可以有许多办法解决,你可以在instance variables 中定义变量 i

i 要求初始化为 0

itemchange:
choose case lower(dwo.name)
case 'deptid'
if condistion then
i = i + 1
return 1
end if
end choose

itemerror
choose case lower(dwo.name)
case 'deptid'
if i > 1 then
i = 0
return 1
end if
messagebox('', 'error.')
return 1
end choose
bigtailwolf163 2004-04-21
  • 打赏
  • 举报
回复
自己顶!

希望大家帮帮忙。
bigtailwolf163 2004-04-21
  • 打赏
  • 举报
回复
再顶,顶到想到办法为止
bigtailwolf163 2004-04-21
  • 打赏
  • 举报
回复
haisha(海沙)你的方法我试了,还是不能解决问题:(

我哭!

1,108

社区成员

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

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