Colorized cell of xbrowse
- Silvio.Falconi
- Posts: 7138
- Joined: Thu Oct 18, 2012 7:17 pm
- Been thanked: 1 time
Colorized cell of xbrowse
I have to color the xbrowse cells on each line with a different color depending on the value of the cell, I made
WITH OBJECT oBrw
....
FOR i := 1 TO LEN(:aCols)
oCol := :aCols[ i ]
oCol:nWidth := 30
if i >1
oCol:bClrStd := {|i| { ChangeColor( oBrw, i ) } }
endif
NEXT
:CreateFromCode()
END
static function ChangeColor( oBrw, n )
return {|| { CLR_BLACK, ColorCell( oBrw:aRow[ n ]:VALUE ) } }
static function ColorCell( num )
local nColor := GetSysColor( 15 ) //for demo
local nColor1 := CLR_HGREEN
local nColor2 := CLR_HRED
local ncolor3 := GetSysColor( 15 )
/* IF num<3
nColor :=nColor1
elseif num>3
nColor := nColor2
elseif num<9
nColor := nColor3
endif*/
return nColor
where is the error ?
WITH OBJECT oBrw
....
FOR i := 1 TO LEN(:aCols)
oCol := :aCols[ i ]
oCol:nWidth := 30
if i >1
oCol:bClrStd := {|i| { ChangeColor( oBrw, i ) } }
endif
NEXT
:CreateFromCode()
END
static function ChangeColor( oBrw, n )
return {|| { CLR_BLACK, ColorCell( oBrw:aRow[ n ]:VALUE ) } }
static function ColorCell( num )
local nColor := GetSysColor( 15 ) //for demo
local nColor1 := CLR_HGREEN
local nColor2 := CLR_HRED
local ncolor3 := GetSysColor( 15 )
/* IF num<3
nColor :=nColor1
elseif num>3
nColor := nColor2
elseif num<9
nColor := nColor3
endif*/
return nColor
where is the error ?
Since from 1991/1992 ( fw for clipper Rel. 14.4 - Momos)
I use : FiveWin for Harbour November 2023 - January 2024 - Harbour 3.2.0dev (harbour_bcc770_32_20240309) - Bcc7.70 - xMate ver. 1.15.3 - PellesC - mail: silvio[dot]falconi[at]gmail[dot]com
I use : FiveWin for Harbour November 2023 - January 2024 - Harbour 3.2.0dev (harbour_bcc770_32_20240309) - Bcc7.70 - xMate ver. 1.15.3 - PellesC - mail: silvio[dot]falconi[at]gmail[dot]com
Re: Colorized cell of xbrowse
Silvio,
I think you should change this
oCol:bClrStd := {|i| { ChangeColor( oBrw, i ) } }
For this:
oCol:bClrStd := {|| { ChangeColor( oBrw, i ) } }
But "i" is the variable of the FOR and when the browse is created the value of "i" will be the size of oBrw:aCols + 1
I think you should change this
oCol:bClrStd := {|i| { ChangeColor( oBrw, i ) } }
For this:
oCol:bClrStd := {|| { ChangeColor( oBrw, i ) } }
But "i" is the variable of the FOR and when the browse is created the value of "i" will be the size of oBrw:aCols + 1
- Silvio.Falconi
- Posts: 7138
- Joined: Thu Oct 18, 2012 7:17 pm
- Been thanked: 1 time
Re: Colorized cell of xbrowse
vilian wrote:Silvio,
I think you should change this
oCol:bClrStd := {|i| { ChangeColor( oBrw, i ) } }
For this:
oCol:bClrStd := {|| { ChangeColor( oBrw, i ) } }
But "i" is the variable of the FOR and when the browse is created the value of "i" will be the size of oBrw:aCols + 1
the problem is then the function ChangeColor() not found the "i" variable
Since from 1991/1992 ( fw for clipper Rel. 14.4 - Momos)
I use : FiveWin for Harbour November 2023 - January 2024 - Harbour 3.2.0dev (harbour_bcc770_32_20240309) - Bcc7.70 - xMate ver. 1.15.3 - PellesC - mail: silvio[dot]falconi[at]gmail[dot]com
I use : FiveWin for Harbour November 2023 - January 2024 - Harbour 3.2.0dev (harbour_bcc770_32_20240309) - Bcc7.70 - xMate ver. 1.15.3 - PellesC - mail: silvio[dot]falconi[at]gmail[dot]com
- Marc Venken
- Posts: 1485
- Joined: Tue Jun 14, 2016 7:51 am
- Location: Belgium
Re: Colorized cell of xbrowse
Maybe you have also the issue with Detached Locals ?
http://forums.fivetechsupport.com/viewtopic.php?f=3&t=41373&hilit=detached+local
http://forums.fivetechsupport.com/viewtopic.php?f=3&t=41373&hilit=detached+local
Marc Venken
Using: FWH 23.08 with Harbour
Using: FWH 23.08 with Harbour
- Silvio.Falconi
- Posts: 7138
- Joined: Thu Oct 18, 2012 7:17 pm
- Been thanked: 1 time
Re: Colorized cell of xbrowse
Marc Venken wrote:Maybe you have also the issue with Detached Locals ?
http://forums.fivetechsupport.com/viewtopic.php?f=3&t=41373&hilit=detached+local
I need something of this

Since from 1991/1992 ( fw for clipper Rel. 14.4 - Momos)
I use : FiveWin for Harbour November 2023 - January 2024 - Harbour 3.2.0dev (harbour_bcc770_32_20240309) - Bcc7.70 - xMate ver. 1.15.3 - PellesC - mail: silvio[dot]falconi[at]gmail[dot]com
I use : FiveWin for Harbour November 2023 - January 2024 - Harbour 3.2.0dev (harbour_bcc770_32_20240309) - Bcc7.70 - xMate ver. 1.15.3 - PellesC - mail: silvio[dot]falconi[at]gmail[dot]com
- nageswaragunupudi
- Posts: 10721
- Joined: Sun Nov 19, 2006 5:22 am
- Location: India
- Been thanked: 8 times
- Contact:
Re: Colorized cell of xbrowse
Code: Select all | Expand
oCol:bClrStd := ChangeColor( oBrw, i )
Regards
G. N. Rao.
Hyderabad, India
G. N. Rao.
Hyderabad, India
- Silvio.Falconi
- Posts: 7138
- Joined: Thu Oct 18, 2012 7:17 pm
- Been thanked: 1 time
Re: Colorized cell of xbrowse
nageswaragunupudi wrote:Code: Select all | Expand
oCol:bClrStd := ChangeColor( oBrw, i )
Nages,
give me error
WITH OBJECT oBrw
:nRowHeight := 22
:nClrBorder := CLR_GRAY
:lDrawBorder := .t.
:nColorBox := CLR_HRED
:nMarqueeStyle := MARQSTYLE_HIGHLWIN7
:lHscroll := .f.
:l2007 := .F.
:l2015 := .f.
:nStretchCol := STRETCHCOL_WIDEST
:lAllowRowSizing := .F.
:lAllowColSwapping := .F.
:lAllowColHiding := .F.
:lRecordSelector := .F.
:nColDividerStyle := LINESTYLE_LIGHTGRAY
:nRowDividerStyle := LINESTYLE_LIGHTGRAY
:nRowDividerStyle := LINESTYLE_NOLINES
:nColDividerStyle := LINESTYLE_LIGHTGRAY
:lDisplayZeros := .t. //Ineed the value zero
FOR i := 1 TO LEN(:aCols)
oCol := :aCols[ i ]
oCol:nWidth := 30
if i >1
oCol:bClrStd := ChangeColor( oBrw, i )
oCol:bClrSelFocus := {|| { CLR_BLACK, { { 1, RGB( 252, 235, 220 ), RGB( 255, 0,0 ) } }}}
endif
NEXT
:CreateFromCode()
:aCols[ 1 ]:nWidth := 100
:aCols[ 1 ]:nDataStrAlign := AL_LEFT
:SetStyle( 2018 )
end with
static function ChangeColor( oBrw, n )
return {|| { CLR_BLACK, ColorCell( oBrw:aRow[ n ]:VALUE ) } }
static function ColorCell( num )
local nColor := GetSysColor( 15 )
If num= 0
nColor := CLR_HGREEN
elseif num >0 .and. num < 8
nColor := CLR_WHITE
elseif num >9
nColor := CLR_HRED
endif
return nColor
Since from 1991/1992 ( fw for clipper Rel. 14.4 - Momos)
I use : FiveWin for Harbour November 2023 - January 2024 - Harbour 3.2.0dev (harbour_bcc770_32_20240309) - Bcc7.70 - xMate ver. 1.15.3 - PellesC - mail: silvio[dot]falconi[at]gmail[dot]com
I use : FiveWin for Harbour November 2023 - January 2024 - Harbour 3.2.0dev (harbour_bcc770_32_20240309) - Bcc7.70 - xMate ver. 1.15.3 - PellesC - mail: silvio[dot]falconi[at]gmail[dot]com
- FranciscoA
- Posts: 2163
- Joined: Fri Jul 18, 2008 1:24 am
- Location: Chinandega, Nicaragua, C.A.
Re: Colorized cell of xbrowse
Silvio.Falconi wrote:nageswaragunupudi wrote:Code: Select all | Expand
oCol:bClrStd := ChangeColor( oBrw, i )
Nages,
give me error
WITH OBJECT oBrw
:nRowHeight := 22
:nClrBorder := CLR_GRAY
:lDrawBorder := .t.
:nColorBox := CLR_HRED
:nMarqueeStyle := MARQSTYLE_HIGHLWIN7
:lHscroll := .f.
:l2007 := .F.
:l2015 := .f.
:nStretchCol := STRETCHCOL_WIDEST
:lAllowRowSizing := .F.
:lAllowColSwapping := .F.
:lAllowColHiding := .F.
:lRecordSelector := .F.
:nColDividerStyle := LINESTYLE_LIGHTGRAY
:nRowDividerStyle := LINESTYLE_LIGHTGRAY
:nRowDividerStyle := LINESTYLE_NOLINES
:nColDividerStyle := LINESTYLE_LIGHTGRAY
:lDisplayZeros := .t. //Ineed the value zero
FOR i := 1 TO LEN(:aCols)
oCol := :aCols[ i ]
oCol:nWidth := 30
if i >1
oCol:bClrStd := ChangeColor( oBrw, i )
oCol:bClrSelFocus := {|| { CLR_BLACK, { { 1, RGB( 252, 235, 220 ), RGB( 255, 0,0 ) } }}}
endif
NEXT
:CreateFromCode()
:aCols[ 1 ]:nWidth := 100
:aCols[ 1 ]:nDataStrAlign := AL_LEFT
:SetStyle( 2018 )
end with
static function ChangeColor( oBrw, n )
return {|| { CLR_BLACK, ColorCell( oBrw:aRow[ n ]:VALUE ) } }
static function ColorCell( num )
local nColor := GetSysColor( 15 )
If num= 0
nColor := CLR_HGREEN
elseif num >0 .and. num < 8
nColor := CLR_WHITE
elseif num >9
nColor := CLR_HRED
endif
return nColor
Code: Select all | Expand
static function ChangeColor( oBrw, n )
//return {|| { CLR_BLACK, ColorCell( oBrw:aRow[ n ]:VALUE ) } } //Aquí hay un error. Cambia esta linea por la siguiente. //There is an error here. Change this line to the next.
return {|| { CLR_BLACK, ColorCell( oBrw:aRow[ n ] ) } }
Francisco J. Alegría P.
Chinandega, Nicaragua.
Fwxh-MySql-TMySql
Chinandega, Nicaragua.
Fwxh-MySql-TMySql
- Silvio.Falconi
- Posts: 7138
- Joined: Thu Oct 18, 2012 7:17 pm
- Been thanked: 1 time
Re: Colorized cell of xbrowse
I have also error
Error occurred at: 07-03-2022, 12:37:57
Error description: Error BASE/1075 Parametro errato: >
Args:
[ 1] = U
[ 2] = N 0
Stack Calls
===========
Called from: source\tipico.prg => COLORCELL( 189 )
Called from: source\tipico.prg => (b)CHANGECOLOR( 183 )
the xbrowse
proc SetupBrowserTip(oBrw)
Error occurred at: 07-03-2022, 12:37:57
Error description: Error BASE/1075 Parametro errato: >
Args:
[ 1] = U
[ 2] = N 0
Stack Calls
===========
Called from: source\tipico.prg => COLORCELL( 189 )
Called from: source\tipico.prg => (b)CHANGECOLOR( 183 )
the xbrowse
Code: Select all | Expand
@ 90, 10 XBROWSE oBrw OF oDlgRitardo SIZE -10,-80 PIXEL NOBORDER
oBrw:SetArray(aData,,,.F.)
SetupBrowserRit(oBrw)
proc SetupBrowserTip(oBrw)
Code: Select all | Expand
proc SetupBrowserTip(oBrw)
ADD COLUMN TO oBrw HEADER "Combinazione" DATA {|v,oCol| oCol:oBrw:aArrayData[oCol:oBrw:nArrayAt,1] } CENTER
ADD COLUMN TO oBrw HEADER "Ba" DATA {|v,oCol| oCol:oBrw:aArrayData[oCol:oBrw:nArrayAt,2] } CENTER
ADD COLUMN TO oBrw HEADER "Ca" DATA {|v,oCol| oCol:oBrw:aArrayData[oCol:oBrw:nArrayAt,3] } CENTER
ADD COLUMN TO oBrw HEADER "FI" DATA {|v,oCol| oCol:oBrw:aArrayData[oCol:oBrw:nArrayAt,4] } CENTER
ADD COLUMN TO oBrw HEADER "Ge" DATA {|v,oCol| oCol:oBrw:aArrayData[oCol:oBrw:nArrayAt,5] } CENTER
ADD COLUMN TO oBrw HEADER "Mi" DATA {|v,oCol| oCol:oBrw:aArrayData[oCol:oBrw:nArrayAt,6] } CENTER
ADD COLUMN TO oBrw HEADER "Na" DATA {|v,oCol| oCol:oBrw:aArrayData[oCol:oBrw:nArrayAt,7] } CENTER
ADD COLUMN TO oBrw HEADER "Pa" DATA {|v,oCol| oCol:oBrw:aArrayData[oCol:oBrw:nArrayAt,8] } CENTER
ADD COLUMN TO oBrw HEADER "Ro" DATA {|v,oCol| oCol:oBrw:aArrayData[oCol:oBrw:nArrayAt,9] } CENTER
ADD COLUMN TO oBrw HEADER "To" DATA {|v,oCol| oCol:oBrw:aArrayData[oCol:oBrw:nArrayAt,10] } CENTER
ADD COLUMN TO oBrw HEADER "Ve" DATA {|v,oCol| oCol:oBrw:aArrayData[oCol:oBrw:nArrayAt,11] } CENTER
ADD COLUMN TO oBrw HEADER "Nz" DATA {|v,oCol| oCol:oBrw:aArrayData[oCol:oBrw:nArrayAt,12] } CENTER
WITH OBJECT oBrw
:nRowHeight := 22
:nClrBorder := CLR_GRAY
:lDrawBorder := .t.
:nColorBox := CLR_HRED
:nMarqueeStyle := MARQSTYLE_HIGHLWIN7
:lHscroll := .f.
:l2007 := .F.
:l2015 := .f.
:nStretchCol := STRETCHCOL_WIDEST
:lAllowRowSizing := .F.
:lAllowColSwapping := .F.
:lAllowColHiding := .F.
:lRecordSelector := .F.
:nColDividerStyle := LINESTYLE_LIGHTGRAY
:nRowDividerStyle := LINESTYLE_LIGHTGRAY
:nRowDividerStyle := LINESTYLE_NOLINES
:nColDividerStyle := LINESTYLE_LIGHTGRAY
:lDisplayZeros := .t.
FOR i := 1 TO LEN(:aCols)
oCol := :aCols[ i ]
oCol:nWidth := 30
if i >1
oCol:bClrStd := ChangeColor( oBrw, i )
endif
NEXT
:CreateFromCode()
:aCols[ 1 ]:nWidth := 100
:aCols[ 1 ]:nDataStrAlign := AL_LEFT
:SetStyle( 2018 )
end with
Return nil
//--------------------------------------------------------------------------------//
static function ChangeColor( oBrw, n )
return {|| { CLR_BLACK, ColorCell( oBrw:aRow[ n ]) } }
static function ColorCell( num )
local nColor := GetSysColor( 15 )
If num= 0
nColor := CLR_HGREEN
elseif num >0 .and. num < 8
nColor := CLR_WHITE
elseif num >9
nColor := CLR_HRED
endif
return nColor
Since from 1991/1992 ( fw for clipper Rel. 14.4 - Momos)
I use : FiveWin for Harbour November 2023 - January 2024 - Harbour 3.2.0dev (harbour_bcc770_32_20240309) - Bcc7.70 - xMate ver. 1.15.3 - PellesC - mail: silvio[dot]falconi[at]gmail[dot]com
I use : FiveWin for Harbour November 2023 - January 2024 - Harbour 3.2.0dev (harbour_bcc770_32_20240309) - Bcc7.70 - xMate ver. 1.15.3 - PellesC - mail: silvio[dot]falconi[at]gmail[dot]com
Re: Colorized cell of xbrowse
hi Silvio,
you try to "add" Codeblock in a Loop but your "Counter" does not work that Way.
you need to use a "String" to build a Codeblock so this might work
you try to "add" Codeblock in a Loop but your "Counter" does not work that Way.
you need to use a "String" to build a Codeblock so this might work
Code: Select all | Expand
LOCAL cString := "{|| { CLR_BLACK, ColorCell( oBrw:aRow[" + STR( n ) + "] ) } }"
RETURN &cString
greeting,
Jimmy
Jimmy
- Silvio.Falconi
- Posts: 7138
- Joined: Thu Oct 18, 2012 7:17 pm
- Been thanked: 1 time
Re: Colorized cell of xbrowse - Resolved!!
Resolved!!!

FOR i := 2 TO LEN(:aCols)
oCol := :aCols[ i ]
oCol:nWidth := 30
:aCols[ i ]:bClrStd := ChangeColor( oBrw, i )
NEXT

FOR i := 2 TO LEN(:aCols)
oCol := :aCols[ i ]
oCol:nWidth := 30
:aCols[ i ]:bClrStd := ChangeColor( oBrw, i )
NEXT
Since from 1991/1992 ( fw for clipper Rel. 14.4 - Momos)
I use : FiveWin for Harbour November 2023 - January 2024 - Harbour 3.2.0dev (harbour_bcc770_32_20240309) - Bcc7.70 - xMate ver. 1.15.3 - PellesC - mail: silvio[dot]falconi[at]gmail[dot]com
I use : FiveWin for Harbour November 2023 - January 2024 - Harbour 3.2.0dev (harbour_bcc770_32_20240309) - Bcc7.70 - xMate ver. 1.15.3 - PellesC - mail: silvio[dot]falconi[at]gmail[dot]com
- Silvio.Falconi
- Posts: 7138
- Joined: Thu Oct 18, 2012 7:17 pm
- Been thanked: 1 time
Re: Colorized cell of xbrowse
If I use
:nMarqueeStyle := MARQSTYLE_HIGHLWIN7
the n I not see the right color
How I can to hav the bar nmarquee on only first column ?
:nMarqueeStyle := MARQSTYLE_HIGHLWIN7
the n I not see the right color
How I can to hav the bar nmarquee on only first column ?
Since from 1991/1992 ( fw for clipper Rel. 14.4 - Momos)
I use : FiveWin for Harbour November 2023 - January 2024 - Harbour 3.2.0dev (harbour_bcc770_32_20240309) - Bcc7.70 - xMate ver. 1.15.3 - PellesC - mail: silvio[dot]falconi[at]gmail[dot]com
I use : FiveWin for Harbour November 2023 - January 2024 - Harbour 3.2.0dev (harbour_bcc770_32_20240309) - Bcc7.70 - xMate ver. 1.15.3 - PellesC - mail: silvio[dot]falconi[at]gmail[dot]com
- FranciscoA
- Posts: 2163
- Joined: Fri Jul 18, 2008 1:24 am
- Location: Chinandega, Nicaragua, C.A.
Re: Colorized cell of xbrowse
Silvio.Falconi wrote:How I can to hav the bar nmarquee on only first column ?
I do it like that:
Code: Select all | Expand
WITH OBJECT oBrw
:nMarqueeStyle := MARQSTYLE_HIGHLCELL
:lColChangeNotify := .t.
:bChange := { |o| if( o:nColSel<>1, ( o:nColSel:=1, o:RefreshCurrent() ), nil ) }
:CreateFromCode()
END
Francisco J. Alegría P.
Chinandega, Nicaragua.
Fwxh-MySql-TMySql
Chinandega, Nicaragua.
Fwxh-MySql-TMySql
- Silvio.Falconi
- Posts: 7138
- Joined: Thu Oct 18, 2012 7:17 pm
- Been thanked: 1 time
Re: Colorized cell of xbrowse
THANKS


Since from 1991/1992 ( fw for clipper Rel. 14.4 - Momos)
I use : FiveWin for Harbour November 2023 - January 2024 - Harbour 3.2.0dev (harbour_bcc770_32_20240309) - Bcc7.70 - xMate ver. 1.15.3 - PellesC - mail: silvio[dot]falconi[at]gmail[dot]com
I use : FiveWin for Harbour November 2023 - January 2024 - Harbour 3.2.0dev (harbour_bcc770_32_20240309) - Bcc7.70 - xMate ver. 1.15.3 - PellesC - mail: silvio[dot]falconi[at]gmail[dot]com