使用PB9.0数据窗口遇到的问题

来源:互联网 发布:电商美工设计流程 编辑:程序博客网 时间:2024/05/07 01:59

问题:

请教下,在PB9.0数据窗口中,选中某行,然后就高亮选中的那行。我用的代码是:
if GetRow() > 0 then
SelectRow(0,false)
SelectRow(GetRow(),true)
end if
if this.rowcount()=0 then
return
end if

但是这样的代码有个问题,比如我这个数据窗口只有3列,但是窗口又是比较大的话,在选中的那个行在数据列后面已经没有数据列了,但是那个高亮的颜色会一直延长,这样的话,就不是很美观,请问这个延长的高亮尾巴怎么去掉,谢谢。

我要的结果是高亮的时候就把选中的那行的有数据列的高亮,没有数据列的不要高亮。

方法一:

在DW的rowfocuschanged事件:
if currentrow > 0 then
this.selectrow(0,false)             //清以前选中的行 或者  dw_control.SelectRow(0,False)  
this.selectrow(currentrow,true) )//选中Row指定的行 或者dw_control.SelectRow(Row,True)
 end if

 

方法二:

可以改数据窗口对象的前景色,背景色来完成
选择数据窗口对象的所有列,
text colr属性表达式中写 if(getrow()=currentrow(),rgb(255,255,255),rgb(0,0,0))
background color属性表达式中写 if(getrow()=currentrow(),rgb(64,0,128),rgb(255,255,255)))

 

本文参照http://www.qqgb.com/Program/PowerBuilder/PBwindows/Program_262901.html