关于itemchanged事件的问题

swazyl 2003-08-22 11:47:48
我有个问题:我在数据窗口的itemchanged事件中加入了一段程序,当某列的值改变时就检测该列录入的值是否符合条件,如果检测到不符合条件则给出信息提示并修改它,我的问题是,我怎么才能让光标回到这一列,由于itemchanged事件是光标离开当前列时才触发,我该怎么做,我用了dw_1.scrolltorow(ll_found)和dw_1.setcolumn(12)都没用.
...全文
88 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiangyiwei 2003-09-01
  • 打赏
  • 举报
回复
先:if 没有通过有效性检验 then
messagebox("错误", "您输入有错误")
end if
return 1

再在itemerror事件中写return 1就可以了
不会出现item 'xxxx' does not pass valiadation test的提示了。
yanghongfeng 2003-08-24
  • 打赏
  • 举报
回复
return 1
huangxinru 2003-08-22
  • 打赏
  • 举报
回复
return 1
swazyl 2003-08-22
  • 打赏
  • 举报
回复
mittee(google),你QQ是多少,MSN也行,那样交流方便点,我的QQ是15485066,MSN邮箱是
swazhongyongli@hotmail.com
swazyl 2003-08-22
  • 打赏
  • 举报
回复
mittee(google),你QQ是多少,MSN也行,那样交流方便点,我的QQ是15485066,MSN邮箱是
swazhongyongli@hotmail.com
swazyl 2003-08-22
  • 打赏
  • 举报
回复
mittee(google) ,具体怎么实现
mittee 2003-08-22
  • 打赏
  • 举报
回复
我看了你的第二问题,我想检测要用到内嵌sql
锁定光标用return 值
mittee 2003-08-22
  • 打赏
  • 举报
回复
我的没有英文提示啊,

messagebox("","注意,你输入的数据类型不对")

return 1 //这个限制

是在itemerror 里写的吗

如果 是return 0 就会有英文提示了

swazyl 2003-08-22
  • 打赏
  • 举报
回复
各位:对于在上面提出的存放位置问题有好办法吗,帮帮我,谢谢
Key 2003-08-22
  • 打赏
  • 举报
回复
楼上说得对!
如果数据合法性检验没有通过,先触发 itemerror事件,在这个事件中填写相关的判断代码。
其中可以使用 dwo对象,就是datawindowobject,可以很方便对数据窗口中的对象进行访问,比如可以这样:
if dwo.name = 'id' then
messagebox("错误", "您输入的Id有错误")
end if
或者干脆就是choose case 把所有的窗口内对象的错误处理都分别写到每个case中。
通过了以后,return 1, 这样可以不显示系统出现的 英文错误信息。

swazyl 2003-08-22
  • 打赏
  • 举报
回复
workhand(hander),你好,我用了你的方法,系统提示还是要出来,而且是英文的,操作人员不一定看得懂
workhand 2003-08-22
  • 打赏
  • 举报
回复
If dwo.name = 位置字段名 Then

IF 校验不通过 Then
dw_1.setcolumn(字段名)
Return 1
End iF
End IF
swazyl 2003-08-22
  • 打赏
  • 举报
回复
mittee(google),你好,用你的办法可以做到,但除了messagebox提示信息外,系统还提示"item 'xxxx' does not pass valiadation test",我能不能去掉系统提示.
swazyl 2003-08-22
  • 打赏
  • 举报
回复
谢谢各位热情帮忙,我还有一个问题:有个数据窗口的某列是录入产品存放位置的,在录入某个产品的存放位置后我要及时判断所录入的位置是否已经存放了其它产品,如果检测到确实存放了其它产品时,就必须提示操作人员修改当前录入的存放位置,而且如果它不修改则光标不能移动,一直在该列直到操作人员把它修改成正确的存放位置为止,我在itemchanged事件中判断出了需要操作人员修改,但我无法使光标停留在该列位置上而直到修改正确为止,我该怎么做.
coordinate 2003-08-22
  • 打赏
  • 举报
回复
setrow(m)
setcolumn(n)
mittee 2003-08-22
  • 打赏
  • 举报
回复
数据窗口输入的数据如果不符合条件 ,先触发 itemerror事件

messagebox("","注意,你输入的数据类型不对")

return 1

如果检验通过了,才触发itemchanged事件
是这样的。

609

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder DataWindow
社区管理员
  • DataWindow社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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