La Web del Programador: Comunidad de Programadores
 
    Pregunta:  33481 - FILAS DE COLORES EN UN GRID
Autor:  luis
Alguien sabe de algun componente que permita poner las filas de distintos colores en un grid? Muchas Gracias.

  Respuesta:  Miguel Lucero
Luis

Fijate en el siguiente código que te sirve para colorear una celda o una fila de un TStringGrid. Además esto mismo lo podés usar en un DBGrid con algunos cambios.

procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
var
dx: Integer;
begin
with (Sender as TStringGrid) do
begin
// No cambiar el color de la primer fila o columna
if (ACol = 0) or (ARow = 0) then
Canvas.Brush.Color := clBtnFace
else
begin
case ACol of
1: Canvas.Font.Color := clBlack;
2: Canvas.Font.Color := clBlue;
end;
// Dibujar la banda
if ARow mod 2 = 0 then
Canvas.Brush.Color := $00E1FFF9
else
Canvas.Brush.Color := $00FFEBDF;
Canvas.TextRect(Rect, Rect.Left + 2, Rect.Top + 2, cells[acol, arow]);
Canvas.FrameRect(Rect);
end;
end;
end