Page 1 of 1
Colores en las filas de un xbrowse
Posted: Wed Jan 15, 2025 1:54 pm
by TOTOVIOTTI
Hola estimados!!
Les hago una consulta: se puede colorear filas de un xbrowse sin tener algo fijo,
por ejemplo, necesito colorear las filas cuyos comprobantes corresponden al mismo cliente,
o son de la misma fecha, o lo que sea, controlar el color de las filas dependiendo el contenido de las mismas,
no con algo fijo, por ejemplo, si el cliente es igual a "xxxx", sino, colorear de cualquier color, los comprobantes
que sean del mismo cliente... ?
Lo necesito para un caso especial, el ejemplo no es el más conveniente, pero para que se entienda, lo explico así...
Desde ya, muchas gracias!!
Roberto
Re: Colores en las filas de un xbrowse
Posted: Wed Jan 15, 2025 2:06 pm
by karinha
Re: Colores en las filas de un xbrowse
Posted: Wed Jan 15, 2025 2:26 pm
by TOTOVIOTTI
Gracias Karinha por tu ayuda!
Pero no, en este caso hay una condición prestablecida, ya sé
porque "condición" debo colorear.
En mi caso, esa condición será variable, depende por ejemplo, que coincida
la fecha del comprobante, o el número de comprobante o el cliente.
Saludos
Muchas gracias!
Roberto
Re: Colores en las filas de un xbrowse
Posted: Wed Jan 15, 2025 6:11 pm
by sysctrl2
Re: Colores en las filas de un xbrowse
Posted: Thu Jan 16, 2025 1:34 pm
by TOTOVIOTTI
César,
una solución interesante que me propuso el amigo César Gómez de Argentina..
FUNCTION Roberto()
LOCAL oBrw, oCn, oRs, oForm
oCn := maria_Connect( "localhost:3306,test,root,prueba", .t. )
if oCn == nil
? "can not connect to server"
return nil
endif
oRs := oCn:query("SELECT * from roberto order by fecha ")
DEFINE DIALOG oForm TITLE "Roberto" FROM 05,15 TO 36,99
@05,05 XBROWSE oBrw DATASOURCE oRs;
COLUMNS "fecha","nombre","comprobante","importe";
HEADERS "Fecha","Cliente","Comprobante","Importe";
SIZES 80,200,100,90;
FOOTERS;
OF oForm CELL SIZE 300,200 PIXEL
WITH OBJECT oBrw
:bClrStd := { || { CLR_BLACK, RGB(255-44*oRs:codcli,255-66*oRs:codcli,11*oRs:codcli) } }
END
oBrw:CreateFromCode()
ACTIVATE DIALOG oForm CENTER
RETURN nil
Hay que trabajar un poquito el tema de los colores y el rango entre 1 y 255, pero la idea está!
Saludos
Roberto
Re: Colores en las filas de un xbrowse
Posted: Thu Jan 16, 2025 11:00 pm
by sysctrl2
a seguir probando
saludos !
Re: Colores en las filas de un xbrowse
Posted: Fri Jan 17, 2025 9:31 pm
by jacgsoft
Lo que tienes que hacer primero es, en tu resultado a mostrar en el xBrowse, es tener una columna adicional el cual tendrá un correlativo del 1 al infinito. El numero representa el agrupamiento de lo que tu desees (Código de la empresa, código de cliente, fecha de venta, etc.)
Ejemplo:
Codigo fecha nombre Ventas Columna adicional
------------------------------------------------- -----------------------
10 2024-01-01 Empresa1 100.20 1
10 2024-01-20 Empresa1 500.80 1
11 2024-01-01 Empresa2 80.20 2
11 2024-01-31 Empresa2 180.20 2
20 2024-02-01 Empresa3 10.20 3
30 2024-02-20 Empresa3 50.80 3
Luego aplicar lo ya conocido, para el efecto Pijama sobre la columna adicional.
oBrw:bClrStd = { || If( oBrw:oCol('Columna adicional'):value % 2 == 0, ;
{ CLR_BLACK, RGB( 198, 255, 198 ) }, ;
{ CLR_BLACK, RGB( 232, 255, 232 ) } ) }
Re: Colores en las filas de un xbrowse
Posted: Sat Jan 18, 2025 10:36 am
by russimicro
Code: Select all | Expand
:bClrStd := { || If( (cAliTab )->(oBrwFW2:KeyNo()) % 2 == 0, ;
{ RGB(0,0,0), IF( (cAliTab )->cEstProTra == "S", RGB(136,119,134), ;
IF( (cAliTab )->cEstadoTra == "I", RGB(190,224,156), RGB( 234,234,234 )) ) },;
{ RGB(0,0,0), IF((cAliTab )->cEstProTra == "S", RGB(136,119,134), ;
IF( (cAliTab )->cEstadoTra == "I", RGB(190,224,156), RGB( 255,255,242 ) ) ) } ) }