hola a todos los foreros.
mi problema creo q es muy tipico por lo q he visto en otros hilos aunq en ningunno he encontrao la manera de solucionarlo.
Yo tengo dbgrid relaccionado con una tabla (dbase) lo q quiero es q en los registro q el campo tipo='S' se coloreen de rojo y los de tipo='E' que se queden con el color de siempre mi codigo es el siguiente:
Código:
procedure TAPUNTES.DBGrid1DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
if (TAPUNTES.FieldByName ('TIPO').AsString ='S') and (gdSelected in State) then
DBGrid1.Canvas.Font.Color := clRed;
DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;
pero mi problema es que no lo termina de hacer bien porque cuando yo habro el formulario solo me ha pintado el ultimo que cumple la condicion y todos los demas los ha dejado con el color de siempre lo q si hace es q cuando me muevo por el dbgrid los colorea pero solo cuando estoy en el si me cambio se quita el color ¿como puedo hacer para q de primeras me salgan todos pintalos y q no pierdan el color cuando paso por ellos?