本人初学PB如何实现点击变色加亮所选数据行

NoddyGood 2010-10-13 09:58:44
在数据窗口点击一行数据内容后就色或加亮所选。另外还是个问题:将鼠标移动到一行数据上就显示要双击显更明细。
...全文
780 21 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
jiangliquan1 2010-10-21
  • 打赏
  • 举报
回复
发图成功,上图中,第9行,当光标在序列号(计算列)上单击时,整个背景光标条跟着移动!
jiangliquan1 2010-10-21
  • 打赏
  • 举报
回复
jiangliquan1 2010-10-21
  • 打赏
  • 举报
回复


发图成功,上图中,第9行,当光标在序列号(计算列)上单击时,整个背景光标条跟着移动!
xiaobn_cn 2010-10-21
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 jiangliquan1 的回复:]
各位大师,请看16楼的图,我要上图中9行一样的效果
[/Quote]

自已看下我15楼的回贴,能达到你的要求。
jiangliquan1 2010-10-20
  • 打赏
  • 举报
回复
各位大师,请看16楼的图,我要上图中9行一样的效果
jiangliquan1 2010-10-20
  • 打赏
  • 举报
回复
xiaobn_cn 2010-10-20
  • 打赏
  • 举报
回复
在你的DataWindow中增加一列做为标志列,比如integer select_flag,该列不显示,可以删除对应控件,也可以隐藏。

其它控件的颜色部分加express表达式,if(select_falg = 1, rgb(255,0,0), rgb(255,255,255)),这里的颜色你自己可以改。

在Clicked事件中增加代码,先判断dwo是不是数据列或者计算列,如果不是则返回。将点击行的select_flag = 1,其它行的select_flag = 0。

应当就可以达到你的要求了。
jiangliquan1 2010-10-19
  • 打赏
  • 举报
回复
请教一下怎么发图上来,3楼那样的,有图才看得明白!谢谢!
ilovecp3 2010-10-19
  • 打赏
  • 举报
回复
一楼二楼
jiangliquan1 2010-10-19
  • 打赏
  • 举报
回复
就是在最后列的空白地方
xiaobn_cn 2010-10-19
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 jiangliquan1 的回复:]
各位大师,上面的问题是,在超出列的范围后仍有变色,我想只在点击数据行时,所在行变色!并且在点击计算列时,也有一样的效果!!!困扰我好久的问题!
[/Quote]
什么叫超出列的范围?
taoapca 2010-10-19
  • 打赏
  • 举报
回复
首先尽可能从简单的rowfocus事件中考虑为好
jiangliquan1 2010-10-18
  • 打赏
  • 举报
回复
各位大师,上面的问题是,在超出列的范围后仍有变色,我想只在点击数据行时,所在行变色!并且在点击计算列时,也有一样的效果!!!困扰我好久的问题!
ilovecp3 2010-10-16
  • 打赏
  • 举报
回复
一楼二楼正解
dawugui 2010-10-16
  • 打赏
  • 举报
回复
鼠标移动时让数据窗口中当前鼠标下的数据行改变颜色 

编程步骤如下:
1、定义窗口实例变量:
STRING Is_OldColor
2、在数据窗口的Constructor事件中编写如下脚本:
Is_OldColor = THIS.Describe("datawindow.detail.color")
3、为数据窗口定义一个自定义事件,ue_mousemove,映射为pbm_dwnMouseMove事件。然后在该自定义事件上编写如下脚本:
THIS.Modify("datawindow.detail.color='0~tif(getrow()=" + STRING(Row) + ",rgb(25,200,240)," + Is_OldColor + ")'")
lightsword1 2010-10-15
  • 打赏
  • 举报
回复
例子可以借签
fuxiaoyang13 2010-10-15
  • 打赏
  • 举报
回复
顶顶!!!!!!!!!!!!!!!
newease 2010-10-14
  • 打赏
  • 举报
回复
另外还是个问题:将鼠标移动到一行数据上就显示要双击显更明细。



标准控件及数据窗口的tooltip示例 http://download.csdn.net/source/1736927
newease 2010-10-14
  • 打赏
  • 举报
回复
在数据窗口的单击事件clicked中

if row>0 then
this.selectrow(0,false)
this.selectrow(row,true)
end if
pb8 2010-10-13
  • 打赏
  • 举报
回复
在rowfocuschanged中写
if currentrow>0 then
this.SelectRow(0,False)
this.SelectRow(currentrow,True)
end if

第二个问题通过在mousemove里面判断鼠标所在的行更改时提示~~

611

社区成员

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

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