[Lazarus-es] dbgrid; ondrawcolumncell

Paola Bruccoleri pbruccoleri en adinet.com.uy
Mar Abr 19 19:24:55 CEST 2011


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;






More information about the Lazarus-es mailing list