Fórum colocando cor em coluna do wwDBGrid... #283996

07/06/2005

0

Estou usando os componentes infopower, gostaria de saber como pinto uma coluna especifica com uma cor(vermelho).


Thiagopedro

Thiagopedro

Responder

Posts

08/06/2005

Fernando

esta forma coloca o grid zebrado
a variavel datasorce e o datasorce que esta ligado no grid
procedure TForm1.GridDrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
if not odd(datasorce.DataSet.RecNo) then // se for ímpar
if not (gdSelected in State) then // se a célula não está selecionada
begin
Grid.Canvas.Brush.Color:=$00FFEFDF; // define uma cor de fundo
Grid.Canvas.FillRect(Rect); // pinta a célula
Grid.DefaultDrawDataCell(rect,Column.Field,State); // pinta o texto padrão
end;

end;

nesse caso eu vou pintar somente a coluna que quero

procedure TForm1.GridCalcCellColors(Sender: TObject;
Field: TField; State: TGridDrawState; Highlight: Boolean; AFont: TFont;
ABrush: TBrush);
begin
if Field.FieldName = ´Dias_Atraso´ then
begin
if Field.AsInteger >= 1 then
begin
ABrush.Color := clBlue;
AFont.Style := [];
AFont.Color := clWhite;
end;

if Field.asInteger < 1 then
begin
ABrush.Color := clRed;
AFont.Style := [fsBold];
AFont.Color := clWhite;
AFont.Size := 11;
end;
end;
if Field.FieldName = ´CANCELADA´ then
begin
if Field.AsString = ´S´ then
begin
ABrush.Color := clRed;
AFont.Style := [fsBold];
AFont.Color := clWhite;
AFont.Size := 11;
end;
end;

end;


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar