Page 1 of 1

Colorear celda en xBrows según sus datos ?

Posted: Mon Sep 17, 2007 12:17 am
by Ruben D. Fernandez
Amigos:

No encontre un ejemplo en el xBrowse...

Como puedo colorear una celda según tenga
un dato positivo o negativo y se actualice cada vez que cambia ?

Disculpen pero no encontre la forma

Gracias.

Ruben Fernandez.

Re: Colorear celda en xBrows según sus datos ?

Posted: Mon Sep 17, 2007 10:07 am
by Manuel Aranda
Prueba esto:

oLbx:aCols[ 4 ]:bClrStd := {|| { iif( Datos->Valor < 1, CLR_HRED, CLR_HBLUE), CLR_WHITE} }

Un saludo,
Manuel
Ruben D. Fernandez wrote:Amigos:

No encontre un ejemplo en el xBrowse...

Como puedo colorear una celda según tenga
un dato positivo o negativo y se actualice cada vez que cambia ?

Disculpen pero no encontre la forma

Gracias.

Ruben Fernandez.

Posted: Mon Sep 17, 2007 12:45 pm
by Ruben D. Fernandez
GRACIAS Manuel...

Funcionó perfecto.

Saludos

Ruben Fernandez

Posted: Thu Sep 20, 2007 12:04 pm
by QAZWSX2K
SALUDOS, DONDE Y COMO DEFINO aCols[ 4 ], O PODRIAS PONER EL EJEMPLO COMPLETO Y DISCULPEN EL ABUSO, GRACIAS

Posted: Thu Sep 20, 2007 1:32 pm
by Biel EA6DD
xBrose tiene un data aCols que es un array de objetos columna, es decir tantos elementos como colunas tengas en el txBrowse.
Luego bClrStd es un data del objheto columna, que esta dentro del array aCols que a su vez es un data del objeto txBrowse.

oBrw:aCols[numero de columna]:bClrStd ...

Tambien podria definirse en el momento de crear la columna, algo así

Code: Select all

      oBrw := TXBrowse():New(oWnd)
      ...
      oCol := oBrw:AddCol()
      oCol:cHeader  := 'Cabecera'
      oCol:bStrData := Alias->Campo
      oCol:bClrStd  := {||{CLR_HBLUE,CLR_WHITE}}  //Color estandar
      oCol:bClrSel  := {||{CLR_BLACK,RGB(157,255,255)}} //Color elemento seleccionado
      ...

Posted: Thu Sep 20, 2007 4:03 pm
by QAZWSX2K
GRACIAS BIEL

Posted: Fri Sep 21, 2007 2:08 pm
by un_jeepero
Hola Biel,
Como le haces para colorear lineas intercaladas utilizando la TXbrowse
me podrias dar un ejemplo por favor
gracias

salu2

Mauro

Posted: Fri Sep 21, 2007 2:57 pm
by Biel EA6DD
Hola Mauro,
ya se ha comentado otras veces en el foro. Para txBrose seria con el siguiente código.

Code: Select all

oBrw:bClrStd:=ClrStd()

//-----------------------
STATIC FUNCTION ClrStd()
//-----------------------
   LOCAL aCol:={}
   IF alias->(ordkeyno()) % 2 == 0
      aCol:={CLR_BLACK, RGB(193,221,255) }
   ELSE
      aCol:={CLR_BLACK, RGB(221,245,255) }
   ENDIF
RETURN aCol

Posted: Fri Sep 21, 2007 10:27 pm
by un_jeepero
Gracias por tu respuesta Gabriel.
Habia visto publicaciones anteriores, pero no me funcionan esto es lo que realizo en una Wnd..
colorea solamente si no esta la linea de ::oBrw:cAlias := ::oDbf:cAlias

::oBrw := TXBrowse():New( ::oWnd )
::oBrw:cAlias := ::oDbf:cAlias
::oBrw:bClrStd := { || Colores() }

::oCol := Array( 02 )
::oCol[01] := ::oBrw:AddCol()
::oCol[01]:cHeader := "Sucursal"
::oCol[01]:bStrData := { || ::oLoc:desloc }
::oCol[01]:nWidth := 90
..
..
::oBrw:bKeydown := { | nKey | ::Modifica( ::oDbf:RecNo()) }
::oBrw:CreateFromCode()

//-----------------------
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)

Muchas gracias

salu2
Mauro