utilice el codigo expuesto anteriormente pero lo cambie a los eventos del grid
getcolorcelda
getcolortexto
y reviso que la columna de la celda sea la que quiero cambiar el color utilizando acol para la posicion de la columna
Código:
procedure Tfrmvalidar.grdpreprogGetColorCelda(Sender: TObject;
Column: TColumn; ARow, ACol: Integer; AState: TGridDrawState;
ABrush: TBrush; AFont: TFont);
begin
if preprog.FieldByName('error').AsInteger = 1 then begin
if grdpreprog.Fields[acol].DisplayName = 'COMPONENTE' then begin
grdpreprog.Canvas.Brush.Color :=claqua;
end;
end;
end;
procedure Tfrmvalidar.grdpreprogGetTextoCelda(Sender: TObject;
Column: TColumn; ARow, ACol: Integer; var Texto: String);
begin
if preprog.FieldByName('error').AsInteger = 1 then begin
if grdpreprog.Fields[acol].DisplayName = 'COMPONENTE' then begin
grdpreprog.Canvas.Font.Color := clRed;
grdpreprog.Canvas.Font.Style := [fsBold];
end;
end;
end;
espero te sea de utilidad