![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
No se si estaré diciendo una animalada, pero se me ocurre que puedes declarar una variable global en la unidad para guardar el valor del campo del registro anterior y después comparar el valor de la variable con el del registro actual en el procedimiento OnDrawColumCell.
Si el valor coincide no cambias el color ni el valor de la variable en el procedimiento. Si el valor difiere cambias el color y asignas a la variable el valor del campo.
__________________
_____________________________________ And follow me to where the real fun is |
|
#2
|
||||
|
||||
|
Eso lo había pensado, y ahora lo voy a probar.
Lo que desconozco es si eso lo puedo implementar en ese Evento. Es un algoritmo parecido al de eliminación de duplicados, bueno parecido... Ya digo si me ha salido y soy pasto de mis lágrimas.
__________________
El meu país és tan petit, que des de dalt d'un campanar es pot veure el campanar veí. |
|
#3
|
||||
|
||||
|
Hola, ya lo he hecho, pero sólo me pinta la primera columna de la tupla apartir de la que debería empezar a tener el color deseado.
El código es:
Y el resultado de una manera más o menos visual es: 103 07 .... 103 07 .... 103 07 .... 103 07 .... Cambiando aqui el color por el cambio de valor de la columna 103 08 .... 103 08 .... 103 08 .... 103 08 .... 103 08 .... 103 08 .... Cuando el resultado debería ser algo pareceido a eso: 103 07 .... 103 07 .... 103 07 .... 103 07 .... Cambiando aqui el color por el cambio de valor de la columna 103 08 .... 103 08 .... 103 08 .... 103 08 .... 103 08 .... 103 08 ....
__________________
El meu país és tan petit, que des de dalt d'un campanar es pot veure el campanar veí. |
|
#4
|
|||
|
|||
|
Y si asignaras el color mediante otra variable global?.
Empiezas con uno y cuando cambie el valor del registro cambias el asignas la variable global donde guardas el valor y lo mismo con la variable para el color.
__________________
_____________________________________ And follow me to where the real fun is |
|
#5
|
||||
|
||||
|
Si ya lo he probado Nelet, pero nada, el resultado es el mismo.
Desisto, tiro la toalla. Como diría Tarantino : - Llebo todo el pu#o día con esta jod#*a mier+# y no me funciona. Ya lo curraré de otro modo. Gracias y un saludo a todos los que habéis intentado ayudarme. ![]()
__________________
El meu país és tan petit, que des de dalt d'un campanar es pot veure el campanar veí. |
|
#6
|
||||
|
||||
|
Creo que se escapa una cosa. Tienes que actualizar el valor de la variable sólo cuando sea distinta... si no te ocurre lo que ahora.
Código:
Código Delphi:
procedure TFLibroNegro.DBGridLibroNegroDrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
if (NumSubObr_ant <> DBGridLibroNegro.Fields[1].Value) and (DBGridLibroNegro.Canvas.Brush.Color = clinfoBk) then
begin
DBGridLibroNegro.Canvas.Brush.Color := clSkyBlue;
DBGridLibroNegro.Canvas.FillRect(Rect);
{ observa que la he cambiado de sitio, pequño detalle }
NumSubObr_ant := DBGridLibroNegro.Fields[1].Value;
end;
DBGridLibroNegro.DefaultDrawColumnCell(rect,DataCol,Column,State);
end;
Un saludo
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino - |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|