数据窗口中的某一字段失去焦点在那个事件中如何写?

秋天之落叶 2018-10-26 04:30:41
dw_1,字段:分值1 分值2 合计

在dw_1的分值1中输入10,分值2中输入10,合计=20,光标离开20时,判断 if 合计>=20 then 前面数据录入有误。
已设置TAB键用Enter代替事件。
请教:在什么事件中,如何写校验合计的代码?
如果是在dw_1的属性中设置校验,应该在哪个属性中如何写代码?

查资料有的说在itemfocuschanged的dwo.name是失去焦点后的判断,实际上不是。
或者问dw_1中有 字段 losefocus的事件吗?
...全文
317 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
秋天之落叶 2018-10-30
  • 打赏
  • 举报
回复
引用 5 楼 zlf19810306 的回复:
不明白跟光标有什么关系,

datawindow 的 editchanged事件里处理,判断分值1+分值2 >=20 等于,当前录入的字段就清空,至于合计如果是计算列就不用处理,如果是其他的字段或者text之类就计算赋值。

如果一定纠结光标,自定义mousemove事件,判断光标是否离开合计=20的对象区域,是就字段就清空

哦,可能是delphi养成的习惯问题吧。
楼上和你说得对,这个可以理解成全局实时判断,理论上加上这个判断,合计不会有不符合限制的值,所以不管在哪个字段都不会有提示弹出。
光标问题是我想在光标离开合计后判断是不是符合限制,以前养成的判断习惯,哈哈。
zlf19810306 2018-10-30
  • 打赏
  • 举报
回复
不明白跟光标有什么关系, datawindow 的 editchanged事件里处理,判断分值1+分值2 >=20 等于,当前录入的字段就清空,至于合计如果是计算列就不用处理,如果是其他的字段或者text之类就计算赋值。 如果一定纠结光标,自定义mousemove事件,判断光标是否离开合计=20的对象区域,是就字段就清空
zlf19810306 2018-10-30
  • 打赏
  • 举报
回复
在dw_1的分值1中输入10,分值2中输入10,合计=20,光标离开20时,判断 if 合计>=20 then 前面数据录入有误。 跟合计=20有什么关系?不明白跟光标又有什么关系。 只要在editchanged事件里判断分值1 + 分值值2 >= 20就提示就可以了,>= 20 正在录入的清空或0,合计用计算列可以自己计算,也可以用其他字段或者text,自己计算后赋值。 如果一定纠结光标,自定义mousemove事件,光标出了合计=20的范围,计算提示,清零
秋天之落叶 2018-10-27
  • 打赏
  • 举报
回复
引用 1 楼 yusantos 的回复:
dw_1 itemfocuschanged事件

decimal dec,dec1,dec2;
dec1 = dw_1.getitemdecimal(dw_1.getrow(),"col1"); //取当前行你要取的列名col1
dec2 = dw_1.getitemdecimal(dw_1.getrow(),"col2");//取当前行你要取的列名col2
dec = dec1 + dec2;
if dec >= 20 then
messagebox("警告","前面录入数据异常");
else
执行正常操作
end if;

应该加一句
if dwo.name='合计' then
否则光标离开每一个字段后都会提示;
这个问题解决了,不知道有没有字段离开后的事件?就像delphi的afteradoquerychange(好像是)一样
yusantos 2018-10-27
  • 打赏
  • 举报
回复
如果你keydown事件能执行,直接用keydown也行
yusantos 2018-10-27
  • 打赏
  • 举报
回复
dw_1 itemfocuschanged事件

decimal dec,dec1,dec2;
dec1 = dw_1.getitemdecimal(dw_1.getrow(),"col1"); //取当前行你要取的列名col1
dec2 = dw_1.getitemdecimal(dw_1.getrow(),"col2");//取当前行你要取的列名col2
dec = dec1 + dec2;
if dec >= 20 then
messagebox("警告","前面录入数据异常");
else
执行正常操作
end if;

611

社区成员

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

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