关于checkbox 选择问题

李哈哈 2017-03-13 09:45:28
数据窗口某一列为checkbox列,点击该列的时候,触发itemchanged 事件,正常 是被选中状态,值变为1.

若想在触发itemchanged的时候,增加个判断,如果判断是false 则提示并返回,使该列依然处于未选中状态,如何操作?

我手动设置值为0,返回后前台显示依然是被选中状态。
...全文
344 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
李哈哈 2017-03-16
  • 打赏
  • 举报
回复
引用 4 楼 HXDZLQ 的回复:
datawindow的itemchanged事件默认返回值0,表示接受数据。 如果你在itemchanged事件中写Return 1, 表示拒绝数据并不允许改变焦点, 如果你在itemchanged事件中写Return 2, 表示拒绝数据并允许改变焦点。
返回2解决了问题,谢谢了 涨姿势了
李哈哈 2017-03-16
  • 打赏
  • 举报
回复
引用 4 楼 HXDZLQ 的回复:
datawindow的itemchanged事件默认返回值0,表示接受数据。 如果你在itemchanged事件中写Return 1, 表示拒绝数据并不允许改变焦点, 如果你在itemchanged事件中写Return 2, 表示拒绝数据并允许改变焦点。
返回1实现了不选中 但是报错 item 1 does not pass the validation test
猎奇567 2017-03-16
  • 打赏
  • 举报
回复
datawindow的itemchanged事件默认返回值0,表示接受数据。 如果你在itemchanged事件中写Return 1, 表示拒绝数据并不允许改变焦点, 如果你在itemchanged事件中写Return 2, 表示拒绝数据并允许改变焦点。
李哈哈 2017-03-16
  • 打赏
  • 举报
回复
引用 1 楼 lzp_lrp 的回复:
判断的时候,根据data的值判断是可以的,不要用getitemstring或者this.object.列名之类的取当前列的值,它还是原来的,需要itemchanged事件执行完成后才会变成修改的值,或者你加一行this.accepttext(),也可以,最好是用data参数来判断 if data = '1' then //选择 end if
我感觉 只要触发到itemchanged 事件里面 只要这个事件结束,前台选中状态肯定会发生变化。我想不发生变化,不知道能不能做到
李哈哈 2017-03-16
  • 打赏
  • 举报
回复
引用 1 楼 lzp_lrp 的回复:
判断的时候,根据data的值判断是可以的,不要用getitemstring或者this.object.列名之类的取当前列的值,它还是原来的,需要itemchanged事件执行完成后才会变成修改的值,或者你加一行this.accepttext(),也可以,最好是用data参数来判断 if data = '1' then //选择 end if
不是这样的。 我是想要做到这样: 列处于未选中状态---点击列,触发itemchanged 事件 进入itemchanged 这时 data = ‘1’ if lb = false data = '0' This.SetItem(row,'bz',Integer(Data)) This.AcceptText() RETURN end if 这时回到前台,该列显示是被选中状态。我想做到返回后依然是未选中状态
WorldMobile 2017-03-14
  • 打赏
  • 举报
回复
判断的时候,根据data的值判断是可以的,不要用getitemstring或者this.object.列名之类的取当前列的值,它还是原来的,需要itemchanged事件执行完成后才会变成修改的值,或者你加一行this.accepttext(),也可以,最好是用data参数来判断 if data = '1' then //选择 end if

609

社区成员

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

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