Colorear celda en xBrows según sus datos ?

Post Reply
Ruben D. Fernandez
Posts: 189
Joined: Sun Jul 08, 2007 1:46 am
Location: Uruguay

Colorear celda en xBrows según sus datos ?

Post 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.
User avatar
Manuel Aranda
Posts: 561
Joined: Wed Oct 19, 2005 8:20 pm
Location: España

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

Post 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.
Ruben D. Fernandez
Posts: 189
Joined: Sun Jul 08, 2007 1:46 am
Location: Uruguay

Post by Ruben D. Fernandez »

GRACIAS Manuel...

Funcionó perfecto.

Saludos

Ruben Fernandez
User avatar
QAZWSX2K
Posts: 359
Joined: Tue Oct 25, 2005 7:06 pm
Location: Bogota - Caracas

Post by QAZWSX2K »

SALUDOS, DONDE Y COMO DEFINO aCols[ 4 ], O PODRIAS PONER EL EJEMPLO COMPLETO Y DISCULPEN EL ABUSO, GRACIAS
Software especializado para oficinas contables con grandes volumenes de Informacion
Impresion de todos los formularios del Seniat, Dian

alex_patino74@hotmail.com
whatsapp 57+3214777217
User avatar
Biel EA6DD
Posts: 680
Joined: Tue Feb 14, 2006 9:48 am
Location: Mallorca
Contact:

Post 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
      ...
Saludos desde Mallorca
Biel Maimó
http://bielsys.blogspot.com/
User avatar
QAZWSX2K
Posts: 359
Joined: Tue Oct 25, 2005 7:06 pm
Location: Bogota - Caracas

Post by QAZWSX2K »

GRACIAS BIEL
Software especializado para oficinas contables con grandes volumenes de Informacion
Impresion de todos los formularios del Seniat, Dian

alex_patino74@hotmail.com
whatsapp 57+3214777217
un_jeepero
Posts: 31
Joined: Fri Mar 17, 2006 2:04 pm

Post 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
User avatar
Biel EA6DD
Posts: 680
Joined: Tue Feb 14, 2006 9:48 am
Location: Mallorca
Contact:

Post 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
Saludos desde Mallorca
Biel Maimó
http://bielsys.blogspot.com/
un_jeepero
Posts: 31
Joined: Fri Mar 17, 2006 2:04 pm

Post 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
Post Reply