RE:CAMBIAR EL COLOR DE LAS FILAS DE UN DBGRID
Bueno mira es asi:
Declara una variavle TColor en el private de la form:
UnColor:TColor;
Mete este código en el evento OnDrawColumnCell de DBGrid:
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
if 'CONDICION' then
then UnColor:=clRed
else UnColor:=clBlack;
end;
with (Sender As TDBGrid).Canvas do
begin
brush.Color:=UnColor;
FillRect(Rect);
TextOut(Rect.Left, Rect.Top, Column.Field.AsString);
end;
end;
CONDICION , es la condicion para que las filas cambien de color, por ejemplo podes cambiar el color de las filas que solamente cumplan la condicion CAMPO>10.
Clred,Clblack:=Son los codigos de color , es la ayuda de delphi estan todos los codigos de los colores.
Brush.color:= esto es que cambie el color de fondo, si queres que cambie el color de la letra ponele FONT.color, fijate en la ayuda del tipo CANVAS.
Con todo ese codigo perdes la alineacion del texto dentro del DBgrid, agrega esta linea y queda perfecto:
dbgrid1.DefaultDrawColumnCell(rect,DataCol,Column,State)
Espero que te haya ayudado, si te quedan dudas mandame un EMail.