请高手帮忙,关于itemchanged事件的用法

fyxchh 2002-10-23 06:01:15
我的dw中有一个字段,我选择edit格式为radiobutton然后在dw的itemchanged中写代码,怎么选择变化后,不执行itemchanged中的代码?好象总是慢一拍,在变化一次时能执行,但是返回是上一次的值?也就是说第一次改变时,反映不出来,第二次改变时反映出上一次的值,怎样使选择一变化就立刻执行itemchanged代码?
我是这样写的
dw_1.accepttext()
ckfs=dw_1.getitemstring(row,'CKFS')
其中CKFS显示为radiobutton,而同样在itemchanged下的代码,正常的显示模式就能及时反映出变化来

谢谢!!
...全文
120 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
huihuishou 2002-10-23
  • 打赏
  • 举报
回复
我又发现了些问题,如果是下拉列表类型或下拉数据窗口类型,那么用accepttext()效果明显,但是唯独radiobutton不行。
fyxchh 2002-10-23
  • 打赏
  • 举报
回复
谢谢大家,我试试
huihuishou 2002-10-23
  • 打赏
  • 举报
回复
我试了一下,是这个情况,不过在ItemChanged事件中有个参数data,它的值是实时变化的,如果你非要让它实时变化,可以这么处理:
if dwo.name="CKFS" then
this.setitem(row,"CKFS",Integer(data))
end if

原因我也不清楚,可能是radiobutton本身就是这么处理的?
megnet 2002-10-23
  • 打赏
  • 举报
回复
在editchanged事件里写accepttext()试试看?
scottwhb 2002-10-23
  • 打赏
  • 举报
回复
你可以用messagebox()调试一下。
messagebox(this.getitemstring(row,'ckfs'))
messagebox(data)
scottwhb 2002-10-23
  • 打赏
  • 举报
回复
说具体一点,我再看看
fyxchh 2002-10-23
  • 打赏
  • 举报
回复
这样也不行,你能帮忙试一下吗?用freeform格式
谢谢
scottwhb 2002-10-23
  • 打赏
  • 举报
回复
dw_1.accepttext()
if dwo.name = 'ckfs' then
ckfs=data
end if

610

社区成员

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

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