[Lazarus-es] dbgrid; ondrawcolumncell

Ismael L. Donis García ismael en citricos.co.cu
Mar Abr 19 19:43:54 CEST 2011


No se que te puede faltar pero prueba lo que sigue:

procedure Tform.dbgDrawColumnCell(Sender: TObject; const Rect: TRect;
   DataCol: Integer; Column: TColumn; State: TGridDrawState);

begin
   with Sender as TDBGrid do
     begin
       if qry.FieldByName('adjudicada').Value = 'S' then  // verde
              Canvas.Brush.Color:= clMoneyGreen
       else if qry.FieldByName('adjudicada').Value = 'N' then  // rojo
              Canvas.Brush.Color:= $00EEEEFF
       else  // amarillo
              Canvas.Brush.Color:= RGB(254,253,192);
       DefaultDrawColumnCell (Rect,DataCol,Column,State);
     end;
end;

Para mi que no te cogía ninguno de los 3 valores por los que preguntabas, 
por lo que al final puse ELSE

Saludos Cordiales
=========
|| ISMAEL ||
=========
----- Original Message ----- 
From: "Paola Bruccoleri" <pbruccoleri en adinet.com.uy>
To: "Lista Lazarus" <lazarus-es en lists.lazarus.freepascal.org>
Sent: Tuesday, April 19, 2011 1:24 PM
Subject: [Lazarus-es] dbgrid; ondrawcolumncell


Hola!
una preguntita..

¿qué le estará faltando a este código que no me pinta las filas del grid
según una condición? O sea, solo quiero pintar el fondo, no la letra.
Puse un showmessage(qry.FieldByName('adjudicada').Value) para ver si me
devolvía algo y no me devuelve nada!.. pero en otro lado del código lo
uso y si me devuelve el valor correspondiente!
muchas gracias


procedure Tform.dbgDrawColumnCell(Sender: TObject; const Rect: TRect;
   DataCol: Integer; Column: TColumn; State: TGridDrawState);

begin
   with Sender as TDBGrid do
     begin
       if qry.FieldByName('adjudicada').Value = 'S' then  // verde
            begin
              Canvas.Brush.Color:= clMoneyGreen;
            end;

       if qry.FieldByName('adjudicada').Value = 'N' then  // rojo
            begin
              Canvas.Brush.Color:= $00EEEEFF;
            end;

       if qry.FieldByName('adjudicada').Value = ' ' then  // amarillo
            begin
              Canvas.Brush.Color:= RGB(254,253,192);
            end;

       DefaultDrawColumnCell (Rect,DataCol,Column,State);

     end;
end;



_______________________________________________
Lazarus-es mailing list
Lazarus-es en lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es






More information about the Lazarus-es mailing list