Tuesday, 24 December 2013

Change Datawindow Row Color At Mouse Move / Mouse Over

//Declare at Instance Variables
int li_xpos , li_ypos , li_prev_xpos , li_prev_ypos

//Mouse Move Event OF Datawindow
li_xpos=xpos
li_ypos=ypos
If li_prev_xpos=xpos and li_prev_ypos=ypos then
    return
Else
    li_prev_xpos=xpos
    li_prev_ypos=ypos
end if
 
String ls_band_name
Integer li_rowNum

ls_band_name= this.getBandAtPointer()

If pos( ls_band_name, "detail", 1 ) > 0 then
    li_rowNum = Integer( Mid( ls_band_name, ls_tabPos + 1 ))
    If li_rowNum = li_previousRowNum OR li_rowNum <= 0 THEN
        Return
    Else
        // YOU CHANGE YOUR OWN COLOR In RGB(--,--,--)
        This.Modify('datawindow.detail.color="0~tif(getRow()=' + string(li_rowNum) + ',RGB(241,240,146) ,'+this.Object.DataWindow.Color+')"' )
        li_previousRowNum = li_rowNum         
    End if
    Return
End if

2 comments:

Nasrullah said...

li_rowNum = Integer( Mid( ls_band_name, ls_tabPos + 1 )), this variable get null,ls_tabPos = null to and this is li_previousRowNum null to, so the function not work

unetblog said...

string ls_band_name
integer li_previousrownum,li_rowNum

li_xpos=xpos
li_ypos=ypos
If li_prev_xpos=xpos and li_prev_ypos=ypos then
return
Else
li_prev_xpos=xpos
li_prev_ypos=ypos
end if

ls_band_name= this.getBandAtPointer()

If pos(ls_band_name, "detail") > 0 then
li_rowNum = Integer( Mid( ls_band_name, 7))
If li_rowNum = li_previousRowNum OR li_rowNum <= 0 THEN
Return
Else
// YOU CHANGE YOUR OWN COLOR In RGB(--,--,--)
This.Modify('datawindow.detail.color="0~tif(getRow()=' + string(li_rowNum) + ',RGB(241,240,146) ,'+this.Object.DataWindow.Color+')"' )
li_previousRowNum = li_rowNum
End if
Return
End if