GRID color por celda

53 views
Skip to first unread message

David Field

unread,
Aug 29, 2023, 9:16:35 PM8/29/23
to [oohg]
Hola,

Me piden mostrar información en un GRID y que dependiendo de un datos, esa celda sea en varios colores.

Por ejemplo, es una columna que muestra porcentajes y quieren :
Si el porcentaje > 90 la celda se vea en color verde
Si el porcentaje > 70 y < 90 la celda se vea en color amarillo
Si el porcentaje < 70 la celda se vea en color rojo

Es esto posible?

Gracias,
David Field

pier.ma...@alice.it

unread,
Aug 30, 2023, 5:38:31 AM8/30/23
to [oohg]
Ola David,
Puedes usar TsBrowse de Minigui Extended
Una imagen, cien palabras.
TsBrowse.png

Esta demostración es mi elaboración de la demostración de TsBrowse y es completamente orientada a objetos.

Puede encontrar numerosos ejemplos del uso de Tsbrowse en la carpeta
\minigui\Muestras\Advanced\
Carpeta Tsbrowse y
Carpetas TSB_[Más argumentos]

Espero haberte dado mas que una buena idea

Salu2 desde la Italia.
--
Pierpaolo Martinello
IW1CUY Ham Radio From Biella Italy
Linux User 177880  

David Field

unread,
Aug 30, 2023, 2:32:47 PM8/30/23
to [oohg]
Pierpaolo,

Precioso GRID, desde la cabeza hasta los pies.
Lástima que no pueda integrarlo a OOHG y cambiar mis sistemas sería mucho trabajo.

Si alguien sabe de alguna alternativa que se pueda agregar a OOHG o forma de hacerlo en OOHG lo agradeceré.

Saludos,
David Field

avazq...@gmail.com

unread,
Aug 30, 2023, 3:33:53 PM8/30/23
to oo...@googlegroups.com

Buenas

Te paso un prg en el que gestiono el color de celda en función de su valor entre 0 y 5,entre 6 y 10 y entre 11 y 15.
Seguro que lo puedes modificar y mejorar.

Renombra el archivo a PRG

No me puedo creer que esté ayudando a un gurú jajaja

 

 

Fundamentalmente, las líneas son:

****************** Colores para BROWSE

public bColor1 := { ||   if ( (_OOHG_ThisObject:WorkArea:Recno() % 2) =0, {0,0,0}, {0,0,0}  )}

public bColor2 := { ||   if ( (_OOHG_ThisObject:WorkArea:Recno() % 2) =0, {255,255,255}, {210, 210, 220} )}

public bColor3 := { || if(oRsAlbaran:cantidad<5, {102, 255,153}, if(oRsAlbaran:cantidad<10, {110,232,248}, if(oRsAlbaran:cantidad<15, {248,251,107}, bcolor1)))}

 

y en el browse

 

@ 90, 2 XBROWSE BrwAlbaran parent frmVent ;

obj oBrwAlbaran;

WIDTH nxbrowse ; && 774 ;

HEIGHT 300;

WORKAREA ( oRsAlbaran ) ;      

HEADERS { "Código", "Artículo", "Cantid", "P.Unid", "Dto", "Tip", "Total"} ;

HEADERCOLORS { RED, RED, RED, RED, RED, RED, RED} ;

COLUMNCONTROLS { {'TEXTBOX'}, {'TEXTBOX' }, {'TEXTBOX','NUMERIC','@ZE 99,999.99'}, {'TEXTBOX','NUMERIC','@Z 99,999.99'}, {'TEXTBOX','NUMERIC','@Z

999.99'}, {'TEXTBOX' }, {'TEXTBOX','NUMERIC','@Z 99,999.99'}};

WIDTHS awidths;                         && { 60, 325, 60, 72, 60, 40, 72 } ;

FIELDS { {|wa| wa:codigo}, {|wa| wa:articulo}, {|wa| wa:cantidad}, {|wa| wa:punidad}, {|wa| wa:dto}, {|wa| wa:tipodto}, {|wa| wa:totlinea}} ;

JUSTIFY {BROWSE_JTFY_CENTER, BROWSE_JTFY_LEFT, BROWSE_JTFY_RIGHT, BROWSE_JTFY_RIGHT, BROWSE_JTFY_RIGHT, BROWSE_JTFY_CENTER, BROWSE_JTFY_RIGHT} ;

SELECTEDCOLORS { WHITE , BLUE, WHITE , BLUE, WHITE , BLUE, WHITE , BLUE, WHITE , BLUE, WHITE , BLUE, WHITE , BLUE};

ON DBLCLICK {|| modiflineaalbaran() } ;

ON CHANGE {|| navegoalba() } ;

READONLY { .t. , .t., .t., .t., .t., .t., .t.} ;

BEFORECOLMOVE {|nCol| NIL };                                              && AntesDeMover( nCol )} ;

AFTERCOLMOVE {|nCol, nPosicion| NIL} ;                                    && DespuesDeMover( nCol, nPosicion )} ;

BEFORECOLSIZE {|nCol| NIL} ;                                              && AntesDeCambiar( nCol )} ;

AFTERCOLSIZE {|nCol, nTam| Btn_Albaran:repinta_campo_busca( ncol, ntam) };                                        && DespuesDeCambiar( nCol, nTam )} ;

BEFOREAUTOFIT {|nCol| NIL};                                               &&AntesDeAutoAjuste( nCol )}

SIZE 10 ;

FONT 'Arial' ;

FULLMOVE  ;

DYNAMICFORECOLOR { bcolor1, bcolor1, bcolor1, bcolor1, bcolor1, bcolor1, bcolor1} ;

DYNAMICBACKCOLOR { bcolor2, bcolor2, bcolor3, bcolor2, bcolor2, bcolor2, bcolor2}

 

 

Espero te sirva y sea esto lo que buscas.

Un abrazo.

--
Has recibido este mensaje porque estás suscrito al grupo "[oohg]" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a oohg+uns...@googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/oohg/6055fd41-9106-42dd-95fa-ea21e971e4f7n%40googlegroups.com.

Ventas_Contado.bak

avazq...@gmail.com

unread,
Aug 30, 2023, 3:34:38 PM8/30/23
to oo...@googlegroups.com

 

De: oo...@googlegroups.com <oo...@googlegroups.com> En nombre de David Field
Enviado el: miércoles, 30 de agosto de 2023 3:17
Para: [oohg] <oo...@googlegroups.com>
Asunto: [oohg] GRID color por celda

 

Hola,

--

image001.png

David Field

unread,
Aug 30, 2023, 6:23:50 PM8/30/23
to [oohg]
Muchísimas gracias Antonio.

Después de todo, no soy gurú, siempre habrá algo nuevo que aprender.

Y como comentario, las variables bColor1, bColor2 y bColor3 las puedes definir como LOCALes, de esa manera al terminar la ventana serán quitadas de la memoria.

Saludos,
David Field

Antonio Vázquez

unread,
Aug 31, 2023, 2:09:09 AM8/31/23
to oo...@googlegroups.com
Gracias


From: oo...@googlegroups.com <oo...@googlegroups.com> on behalf of David Field <david...@gmail.com>
Sent: Thursday, August 31, 2023 12:23:50 AM
To: [oohg] <oo...@googlegroups.com>
Subject: Re: [oohg] GRID color por celda
 

pier.ma...@alice.it

unread,
Aug 31, 2023, 10:23:15 AM8/31/23
to [oohg]
Il giorno mercoledì 30 agosto 2023 alle 20:32:47 UTC+2 david...@gmail.com ha scritto:
Pierpaolo,

Precioso GRID, desde la cabeza hasta los pies.
Lástima que no pueda integrarlo a OOHG y cambiar mis sistemas sería mucho trabajo.

Pensé que recordabas la solución presente en los ejemplos de OOHG y reportada por Antonio Vázquez.
Para ello me tomé la libertad de mostrarles TsBrowse, una biblioteca completa de fuentes.
presentado en Minigui Extended, o todo estilo OOHG.

Desculpa si te desvié haciéndote perder el tiempo.

Salu2
--
Pierpaolo Martinello
IW1CUY Ham Radio From Biella Italy

David Field

unread,
Aug 31, 2023, 12:23:37 PM8/31/23
to [oohg]
Pierpaolo,

No me hiciste perder el tiempo.
Para mi, todo conocimiento es bienvenido y es digno de exploración.

Me llamó mucho la atención el que los ejecutables sean tan pequeños aunque no he compilado nada aún por que normalmente utilizo Mingw, solo viendo el tamaño de ide.exe  (864 kb) wow!

Yo desarrollé un diseñador de pantalla para OOHG y pesa 4.71 MB

Curiosamente, hace algún tiempo, fui yo quien se puso a revisar TODOS los ejemplos de OOHG para crear la página con la descripción de lo que hacia cada uno de ellos y aun compilado y ejecutando S017.prg no se aprecia el cambio de color por celda, sino por renglón.

De cualquier forma, te agradezco y voy a experimentar con MiniGUI para algunos pequeños programa que tengo.

Saludos,
David Field
Reply all
Reply to author
Forward
0 new messages