Colorir o DbGrid quando parcela estiver em atraso.
Pessoal,
estou colocando no evento OnDrawColumnCell o seguinte codigo.
Ele está colorindo a linha perfeitamente. O problema é que nesse momento eu ele perde todas as caracteristicas da fonte que está configurada no DbGrid. Cor, tamanho, alinhamento.
Tem como eu colorir o Grid sem perder essas configurações?
Obrigado.
estou colocando no evento OnDrawColumnCell o seguinte codigo.
if Status = ´Atrasado´ then Canvas.Font.Color := clRed else Canvas.Font.Color := clBlue DefaultDrawDataCell(Rect, Column.Field, State);
Ele está colorindo a linha perfeitamente. O problema é que nesse momento eu ele perde todas as caracteristicas da fonte que está configurada no DbGrid. Cor, tamanho, alinhamento.
Tem como eu colorir o Grid sem perder essas configurações?
Obrigado.
Yallebr
Curtidas 0
Respostas
Araujojunior
14/07/2005
Eu faço assim :wink:
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const
Rect: TRect;
DataCol: Integer;
Column: TColumn;
State: TGridDrawState);
begin
if (Column.Field.FieldName = ´NOMEDOCAMPO´) then
begin
if condição then // coloque aqui sua condição
begin
DBGrid1.Canvas.Brush.Color:= clAqua;
DBGrid1.Canvas.Font.Color:= clWindowText;
DBGrid1.Canvas.FillRect(Rect);
DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;
end;
end;
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const
Rect: TRect;
DataCol: Integer;
Column: TColumn;
State: TGridDrawState);
begin
if (Column.Field.FieldName = ´NOMEDOCAMPO´) then
begin
if condição then // coloque aqui sua condição
begin
DBGrid1.Canvas.Brush.Color:= clAqua;
DBGrid1.Canvas.Font.Color:= clWindowText;
DBGrid1.Canvas.FillRect(Rect);
DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;
end;
end;
GOSTEI 0
Bruno Belchior
14/07/2005
é mais exatamente nessa linha [b:2aea2490ba]DBGrid1.Canvas.FillRect(Rect)[/b:2aea2490ba] a grid perde toda a formatação original do Sistema Operacional...
GOSTEI 0
Bruno Belchior
14/07/2005
sobe...
GOSTEI 0