Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Pintar de distintos colores los renglones de un TsDbGrid (https://www.clubdelphi.com/foros/showthread.php?t=18076)

Ricsato 01-02-2005 02:17:49

Pintar de distintos colores los renglones de un TsDbGrid
 
Hola amigos, saludos a todos!!!, me gustaria que alguien me orientara sobre como poder pintar de un color el contenido (texto) de un renglon que contiene un registro, mismo que a su vez lo esta mostrando un TsDbGrid, el texto en los renglones sera de distintos colores de acuerdo a ciertas condiciones.

si yo utilizo, TsDbGrid.Font.Color:= clRed, se me ilumina todo el contenido del TsDbGrid de color rojo y no es eso lo que necesito.

Estoy intentando con el evento OnGetDrawInfo, mismo que me permite utilizar el siguiente codigo:

if Utildad > 400 then
DrawInfo.Font.Color:=clBlue
else
DrawInfo.Font.Color:=clBlack;

Pero este evento solo se dispara una sola vez cuando el TsDbGrid recibe por primera la informacion del Query y por lo tanto solo puedo colorear una vez y lo que realmente necesito es colorear varias veces, utilizando con el mismo contenido que me esta mostrando el TsDbGrid, como puedo refrescar el contenido del TsDbGrig para que se pueda volver a disparar este evento, sin que cierre mi query ni que pierda su contenido?

O si existe alguna otra forma o metodo para colorear las letras de los renglones de este compemente, mucho les agradecere su ayuda y orientacion.

Gracias.
Saludos desde Mexicali, Baja California, Mexico.

RTorres 01-02-2005 07:14:13

dbgrid con lineas de diferente color
 
Verifica el evento OnDrawColumnCell, para mas detalle consulta en trucomania Espero te sirva y sea lo que buscas.
Saludos.

Neftali [Germán.Estévez] 01-02-2005 09:44:54

No tengo ese Grid, pero supongo que debe derivar del estandard de Delphi, por lo tanto es fácil que posea los mismos eventos y el coloreado de filas funcione de la misma forma; Haz una búsqueda en los foros por "DBGrid Color" (sin las comillas) y verás como obtienes respuesta.

Ricsato 01-02-2005 22:19:07

Ok
 
Gracias por sus comentarios, ya entendi la forma de como hacerlo, como el evento 0nGetDrawInfo, se dispara cada vez que se realiza alguna modificacion en el Grid, el truco estaba en refrescar el contenido del Query y DataSource que apuntan al TsDbGrid y al detectar este ultimo el cambio, ejecuta el evento OnGetDrawInfo y asi ya puedo colorear los renglones con

if (dbgDetalle.Col['Dce_Utilidad'].Field.AsFloat < 300)
DrawInfo.Font.Color:=clBlue

Saludos!
Rciks


La franja horaria es GMT +2. Ahora son las 15:11:08.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi