Ver Mensaje Individual
  #1  
Antiguo 05-09-2008
Besto Besto is offline
Miembro
 
Registrado: abr 2006
Posts: 118
Reputación: 19
Besto Va por buen camino
Color de fuente en celda

Hola,

tengo un problema para cambiar el color de una celda en un dbgrid.
De primeras me va bien, pero cuando cambio de un color a otro me lo cambia con un registro de retraso, es decir, el primer registro del otro color me lo pone con el color anterior.

Os pongo el código que uso:

Código Delphi [-]
procedure Tformulario1.BaseEquiDrawColumnCell(Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TColumn;
  State: TGridDrawState);
begin
  with Sender as TDBGrid do
    begin
      if (datacol=4) then
        begin
          case frDatos.tbEqu.FieldByName('Estado').AsInteger of
            1: begin
                 columns[4].Font.Color := $009900;
               end;
            3: begin
                 columns[4].Font.Color := $FF0000;
                 columns[4].Font.Style := [fsBold];
               end;
            25: begin
                 columns[4].Font.Color := $FF9900;
                 columns[4].Font.Style := [fsBold];
               end;
            26: begin
                 columns[4].Font.Color := $FF00CC;
                 columns[4].Font.Style := [fsItalic];
               end;
          end;
        end;
    end;
  BaseEqui.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;

No sé que puede estar mal, he estado mirando por los foros y en principio parece que es así, no he encontrado nada.
Responder Con Cita