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 |