数据窗口的ItemChaned事件中修改当前值的方法
来源:互联网 发布:美式家具 知乎 编辑:程序博客网 时间:2024/06/05 11:35
最近写PB时遇到要需要在数据窗口的ItemChanged事件中修改正在编辑的字段的值,发现SetItem+和SetText+都不好使,在网上搜了一下,给我复习了一边+ItemChanged+事件的特性,就是依据返回值,来判断接受或者拒绝当前值和焦点是否可以离开。所以直接写+SetItem 或+SetText+是不能修改当前值的。
那么沿着这种思路走下去,接受当前值应该是把+data+的值赋给当前编辑框,拒绝当前值则是什么都不做。
如果要修改当前编辑框的值,要么就是等接受了+data+值之后再修改,要么就是不接受+data+值,直接修改。
对于这两种情况就有两种方法了:
1.+先接受+data+值,再修改(其实这里接受与不接受都没影响,因为是跳出了+ItemChanged+事件之后再修改的)++这里要用到+PostEvent+函数,这个函数是把触发的事件插入到事件列表的最后面,也就是说会在+ItemChanged+事件结束后在执行,也就可以实现修改当前编辑字段的值了。
2.拒绝接受+data+值,直接修改++这里因为拒绝接受+data+值(在+ItemChanged+事件中返回+1+或者+2),是对当前编辑的内容不做处理,所以在+ItemChanged+事件修改当前编辑字段的值就不会被覆盖或者取消了。
这里需要注意的是,直接给当前编辑字段赋值要用+SetItem+,而不能使用+SetText+,因为+SetText+会调用+AcceptText +函数,而+AcceptText+会将+data+的值覆盖+SetText+的值。
以上就是在网上搜索到的两种方法,真的是要对事件和方法的作用及调用理解清楚,才能知道怎么回事了,呵呵&oq=最近写PB时遇到要需要在数据窗口的ItemChanged事件中修改正在编辑的字段的值,发现SetItem+和SetText+都不好使,在网上搜了一下,给我复习了一边+ItemChanged+事件的特性,就是依据返回值,来判断接受或者拒绝当前值和焦点是否可以离开。所以直接写+SetItem 或+SetText+是不能修改当前值的。
那么沿着这种思路走下去,接受当前值应该是把+data+的值赋给当前编辑框,拒绝当前值则是什么都不做。
如果要修改当前编辑框的值,要么就是等接受了+data+值之后再修改,要么就是不接受+data+值,直接修改。
对于这两种情况就有两种方法了:
1.+先接受+data+值,再修改(其实这里接受与不接受都没影响,因为是跳出了+ItemChanged+事件之后再修改的)++这里要用到+PostEvent+函数,这个函数是把触发的事件插入到事件列表的最后面,也就是说会在+ItemChanged+事件结束后在执行,也就可以实现修改当前编辑字段的值了。
2.拒绝接受+data+值,直接修改++这里因为拒绝接受+data+值(在+ItemChanged+事件中返回+1+或者+2),是对当前编辑的内容不做处理,所以在+ItemChanged+事件修改当前编辑字段的值就不会被覆盖或者取消了。
这里需要注意的是,直接给当前编辑字段赋值要用+SetItem+,而不能使用+SetText+,因为+SetText+会调用+AcceptText +函数,而+AcceptText+会将+data+的值覆盖+SetText+的值。
以上就是在网上搜索到的两种方法,真的是要对事件和方法的作用及调用理解清楚,才能知道怎么回事了,呵呵
- 数据窗口的ItemChaned事件中修改当前值的方法
- 数据窗口中最常用的事件
- 关闭当前窗口的方法
- mfc中获取当前窗口大小的方法
- 在PB中动态修改数据窗口DW的SQL语句方法注意事项
- WPF ComboBox_SelectionChange事件中获取当前文本的方法
- 数据窗口控件ItemError事件中必需的编程
- 关于数据窗口事件中DWO的解释
- 数据窗口事件中DWO的解释说明
- 获取当前窗口标题的方法
- WindowsManager获取当前窗口大小的方法
- 从数据窗口中获得数据的方法总结
- PB 数据窗口(DataWindow)中数据传递的方法
- 鼠标移动时让数据窗口中当前鼠标下的数据行改变颜色
- 当前窗口与弹出窗口之间的数据交互
- 一种在父窗口中得知 window.open()出的子窗口关闭事件的方法
- 在父窗口中得知window.open()出的子窗口关闭事件的方法
- PB 数据窗口中自动显示当前分组的组的行数。
- 二维码写入到数据库
- 数据库访问技术 odbc dao rdo uda jet oledb
- 各种算法效率的比较
- Android异步任务详解 AsyncTask(通俗易懂,非常适合初学者)
- basename 和 dirname (copied)
- 数据窗口的ItemChaned事件中修改当前值的方法
- linux curl命令出现错误: [globbing] illegal character in range specification at pos 84
- Lucene在linux操作系统上的部署及demo使用方法
- android dalvik heap 浅析
- Service 莫名启动解决方案
- iOS APPLE LLVM 5.0 Error 之 ‘....UIKit.pcm' was built
- class_create()函数应用
- 百度图像搜索探秘
- 开源的JavaScript日期库:Datejs