itemchanged事件中的问题

powerbu 2001-08-28 09:02:46
有ID,NAME,SEX三个字段,都为STRING型
我想让用户在ID字段中输入的内容都变为大写的
于是我在该DW的ITEMCHANGED事件中写:
this.accepttext()
this.setitem(row,'id',upper(this.getitemstring(row,'id')))
//或 this.setitem(row,'id',upper(this.gettext()))
这段代码有效,但是是在光标从NAME跳转到SEX时,ID字段才变为大写,
请问如何让光标移出ID字段时就让其变为大写?

...全文
126 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
samwcm 2001-08-28
  • 打赏
  • 举报
回复
NetColorWolf(NCW):说的不错。
devid 2001-08-28
  • 打赏
  • 举报
回复
up
NetColorWolf 2001-08-28
  • 打赏
  • 举报
回复
不会吧,ITEMCHANGED事件的触发时机是当你ITEM中的值改变,同时光标离开此ITEM后,所以当你输入ID并跳到下一个ITEM时,ID字段就会改变。你应该再检查一下你有没有其它代码对ID进行了改变。

另外,我不知道你为什么要用代码来控制ID字段。其实,DW可以直接支持你所要的功能:先选中ID列,在它的属性EDIT页中,有一项叫Case,缺省是Any(0),当你选择为Upper(1)时,你所输入的所有值都会变成大写的了。

langhongxing 2001-08-28
  • 打赏
  • 举报
回复
不是itemchange吧,我记得是,好像是XX lostfocus事件吧,我记得大概是这个,还是focuschanged.反正是这两个事件吧,你找找看.
powerbu 2001-08-28
  • 打赏
  • 举报
回复
已搞定,谢谢各位!
chinalht 2001-08-28
  • 打赏
  • 举报
回复
当输入ID并跳到下一个ITEM时,itemchanged事件触发,然后ID字段会变为你输入的值。
也就是说,你先把它改成了大写,但pb又把它改回去了。
所以要这么写:
if dwo.name = 'id' then this.post setitem( row, 'id', upper( data ) )

1,076

社区成员

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

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