100分提问一个老问题:如何在DW中按照指定颜色高亮显示被点击的行!

pigherd 2002-03-10 01:39:35
如何在DW中按照指定颜色高亮显示被点击的行?

用selectrow()好象是没戏了,有人提议在DETAIL的COLOR中写下列语句,
if(currentrow() = getrow(),rgb(x1,y1,z1),if(mod(getrow(),2) = 0,rgb(x2,y2,z2),rgb(x3,y3,z3)))
好象也不能解决问题!

在DW的CLICKED事件中如何实现上述在DETAIL的COLOR中写语句的功能?
兄弟查了帮助也没得逞!希望高手给出比较细致的解答!解到放分!
谢谢!
...全文
77 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
Hanson_bati_zhu 2002-03-11
  • 打赏
  • 举报
回复
试试
在RowFocusChanged事件中写

THIS.SetRedraw(TRUE)

应该使用上面的表达式就能有作用了
jingweishu 2002-03-11
  • 打赏
  • 举报
回复
刚才刚刚试过保证好用,在grip数据窗口模式下在每个字段下的backgroundcolor属性中添加if(isselected(),rgb(100,100,100),rgb(0,0,0))即可只要单击改行就会该行的背景颜色。
jingweishu 2002-03-11
  • 打赏
  • 举报
回复
我建议在数据窗口的属性中的color属性中设定,然后在单击该行时激活该color属性,就可以实现不过本人没试过。
junyong 2002-03-11
  • 打赏
  • 举报
回复
你可以参考参考
http://www.pbtips.com/cgi-bin/leo/topic.cgi?forum=6&topic=18
有个例子,可以下载。
rongrong 2002-03-11
  • 打赏
  • 举报
回复

动态画一个 "长方形" 怎么样 ?

我有现成的代码,需要的话留下 EM 。
killerdanny 2002-03-11
  • 打赏
  • 举报
回复
http://www.csdn.net/expert/topic/408/408396.xml?temp=.6385157
nana11 2002-03-11
  • 打赏
  • 举报
回复
1、可以指定一个字段的tag属性,设置你要的颜色值
2、然后修改,先取出这个值,用修改函数改变。
lesni 2002-03-10
  • 打赏
  • 举报
回复
方法1---给每个字段detail区的属性中, color = 'if(getrow()=currentrow(), rgb(255,255,0),0)'
其中数值可以使用函数传递变量。

方法2---
1,添加一个空字段,即DataWindow的Sql为:Select '',col1,col2... 其中''字段取名为sel
添加一Instance变量:int ii_sel = 1

2,dw_1.Object.col1.background.color='case( sel when ~'col1~' + String(getRow()) then rgb(0,255,0) else rgb(255,255,255))'
...
//每个列都这样定义一下,其中rgb中的数值就可以用变量了。

3,DataWindow的Clicked事件:
If Row < 1 Or Row > RowCount() Then Return
dw_card_info.Object.sel[ ii_sel ] = ''
dw_card_info.Object.sel[ Row ] = 'col1' + String(Row)
ii_sel = row

OK啦,
QiHY 2002-03-10
  • 打赏
  • 举报
回复
"if(getrow()=" + string(row) + ......
上面的row为click事件中的参数,然后用上面的字符串进行modify。
QiHY 2002-03-10
  • 打赏
  • 举报
回复
"if(getrow()=" + row + ")..."

397

社区成员

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

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