XBrowse alternating row colors

Postby Enrico Maria Giordano » Tue Jan 22, 2008 10:11 pm

I just tried James sample using FWH 8.01 and it seems to work fine here.

EMG
User avatar
Enrico Maria Giordano
 
Posts: 8718
Joined: Thu Oct 06, 2005 8:17 pm
Location: Roma - Italia

Postby James Bott » Wed Jan 23, 2008 12:28 am

Enrico,

>I just tried James sample using FWH 8.01 and it seems to work fine here.

Thank you for reporting that.

James
User avatar
James Bott
 
Posts: 4840
Joined: Fri Nov 18, 2005 4:52 pm
Location: San Diego, California, USA

Postby wilsongamboa » Wed Jan 23, 2008 12:58 am

James Nice Sample
we compile with fwh 2.7 and xHarbour and works well

with only .dbf
with .dbf + Index
with .dbf + Index + Filter

Thanks

att
Wilson 'W' Gamboa A
Wilson.josenet@gmail.com
User avatar
wilsongamboa
 
Posts: 595
Joined: Wed Oct 19, 2005 6:41 pm
Location: Quito - Ecuador

Postby James Bott » Wed Jan 23, 2008 1:52 am

Wilson,

>we compile with fwh 2.7 and xHarbour and works well.

Thanks for reporting. This means it should work even with older versions of XBrowse.

James
User avatar
James Bott
 
Posts: 4840
Joined: Fri Nov 18, 2005 4:52 pm
Location: San Diego, California, USA

Postby richard-service » Wed Jan 23, 2008 2:24 am

Hi James,

I fix I test. I add ::oBrw:Refresh() and work fine.
So your sample work fine.

Regards,

Richard
User avatar
richard-service
 
Posts: 804
Joined: Tue Oct 16, 2007 8:57 am
Location: New Taipei City, Taiwan

Postby James Bott » Wed Jan 23, 2008 2:57 am

Richard,

>I fix I test. I add ::oBrw:Refresh() and work fine.

Good news. Thanks.

James
User avatar
James Bott
 
Posts: 4840
Joined: Fri Nov 18, 2005 4:52 pm
Location: San Diego, California, USA

Postby nageswaragunupudi » Wed Jan 23, 2008 3:38 am

James Bott wrote:Richard and NageswaraRao,

I am at a loss as to why it isn't working for you. I'm thinking it must be differences in TXBrowse. NageswaraRao, didn't you say in another message thread that you are using a modified TXBrowse? Could you be linking in this instead of the standard FWH version?

I am using xHarbour, are you?

James

I use modified txbrowse for my software.

But when i test anything here for the forum discussions, I test with FWH 8.01 libraries only and do not use my extensions. Some time today i shall work again when i get some time and come out with the circumstances under which it breaks.
Regards

G. N. Rao.
Hyderabad, India
User avatar
nageswaragunupudi
 
Posts: 10648
Joined: Sun Nov 19, 2006 5:22 am
Location: India

Postby nageswaragunupudi » Thu Jan 24, 2008 4:26 am

Mr James


James Bott wrote:Richard and NageswaraRao,

I am at a loss as to why it isn't working for you. I'm thinking it must be differences in TXBrowse. NageswaraRao, didn't you say in another message thread that you are using a modified TXBrowse? Could you be linking in this instead of the standard FWH version?

I am using xHarbour, are you?

James


I have tested using exact copy of your code with unmodified libraries of FWH 8.01. The problem I reported arises occasionally under different circumstances. One I report here.

1) Please start your application.
(a) Resize the window to increase the height to bring into visibility one more row. Now thre are odd number of rows. Make sure that the number of rows displayed is an odd number.
(b) Click on 2nd row. Then click on 4th tow. Then keep clicking on even rows till the last even row.
This is the result of the screen shot.

Image

There are quite a few other circustances when the logic fails. But I hope one example is enough.

I still feel there is no substitute for the Browse calling the color codeblock with the visible row number as a parameter as we earlier discussed about tcbrowse class.
Regards

G. N. Rao.
Hyderabad, India
User avatar
nageswaragunupudi
 
Posts: 10648
Joined: Sun Nov 19, 2006 5:22 am
Location: India

Postby James Bott » Thu Jan 24, 2008 7:49 am

NageswaraRao,

I see the problem you described. I will have to think about a solution.

>I still feel there is no substitute for the Browse calling the color codeblock with the visible row number as a parameter as we earlier discussed about tcbrowse class.

This does not seem so easy. In addition to the visible row number you would also need to know which color the first row was in order to figure out which color to make the current row. So you would need var to keep track of this and you would have to update it each time the first visible row was a new record. Then you would have to calculate the color of the current row based on the color of the first row and the row number of the current row.

James
User avatar
James Bott
 
Posts: 4840
Joined: Fri Nov 18, 2005 4:52 pm
Location: San Diego, California, USA

Postby nageswaragunupudi » Thu Jan 24, 2008 7:52 am

James Bott wrote:NageswaraRao,

This does not seem so easy. In addition to the visible row number you would also need to know which color the first row was in order to figure out which color to make the current row. So you would need var to keep track of this and you would have to update it each time the first visible row was a new record. Then you would have to calculate the color of the current row based on the color of the first row and the row number of the current row.

James

Yes. All that is taken care of in my tcbrowse solution. You just check if it is even or odd. Please make the modifications i suggested to tcbrowse class it will work without problem.
Regards

G. N. Rao.
Hyderabad, India
User avatar
nageswaragunupudi
 
Posts: 10648
Joined: Sun Nov 19, 2006 5:22 am
Location: India

Postby Otto » Thu Jan 24, 2008 8:07 am

Hello NageswaraRao,
was this the solution you suggested?

Best regards,
Otto

oBrw:bClrStd := { || Colores() }

//-----------------------
STATIC FUNCTION Colores()
LOCAL aCol:={}
IF (ordkeyno()) % 2 == 0
aCol:={CLR_BLACK, RGB(193,221,255) }
ELSE
aCol:={CLR_BLACK, RGB(221,245,255) }
ENDIF
RETURN (aCol)
User avatar
Otto
 
Posts: 6343
Joined: Fri Oct 07, 2005 7:07 pm

Postby nageswaragunupudi » Thu Jan 24, 2008 8:09 am

no
Regards

G. N. Rao.
Hyderabad, India
User avatar
nageswaragunupudi
 
Posts: 10648
Joined: Sun Nov 19, 2006 5:22 am
Location: India

Postby nageswaragunupudi » Thu Jan 24, 2008 8:16 am

Regards

G. N. Rao.
Hyderabad, India
User avatar
nageswaragunupudi
 
Posts: 10648
Joined: Sun Nov 19, 2006 5:22 am
Location: India

Postby Otto » Thu Jan 24, 2008 9:05 am

Thank you.
I don't use TCBROWSE.
But the code I posted works for me.
Regards
Otto
User avatar
Otto
 
Posts: 6343
Joined: Fri Oct 07, 2005 7:07 pm

Postby James Bott » Thu Jan 24, 2008 9:21 am

You can use this line with TXBrowse and it elminates the problem described by NageswaraRao.

oBrw:bClrStd:= {|| if( (cAlias)->(ordkeyno()) % 2 == 0 ,{ CLR_BLACK, COLOR_LIGHT },{ CLR_BLACK, COLOR_DARK }) }

However, I understand that ordkeyno() is very slow with ADS so you probably can't use it with ADS.

James
User avatar
James Bott
 
Posts: 4840
Joined: Fri Nov 18, 2005 4:52 pm
Location: San Diego, California, USA

PreviousNext

Return to FiveWin for Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 35 guests