Fórum Pintar Linha da DBGRID #219381
09/03/2004
0
Olá, tenho esse código, mas não está funcionando corretamente:
O que está acontecendo é o seguinte, quero que pinte todas as linhas que tenham um atraso de 10 dias ou mais, porém está pintando apenas a ultima linha (que é maior de 10). tentei fazer um While mas entrou num loop infinito.
procedure TFrm_CtVencidas.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); begin if (DataModule1.Tbl_ReceberDt_Vencer.Value-Date) >= 10 then begin DBGrid1.Canvas.Brush.Color:= clAqua; DBGrid1.Canvas.Font.Color:= clWindowText; DBGrid1.Canvas.FillRect(Rect); DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State); end; end;
O que está acontecendo é o seguinte, quero que pinte todas as linhas que tenham um atraso de 10 dias ou mais, porém está pintando apenas a ultima linha (que é maior de 10). tentei fazer um While mas entrou num loop infinito.
Facc
Curtir tópico
+ 0
Responder
Posts
09/03/2004
Marco Salles
amigo, tente o código:
procedure TFrm_CtVencidas.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); begin if (Column.Field= DataModule1.Tbl_ReceberDt_Vencer)And ((Date-DataModule1.Tbl_ReceberDt_Vencer.AsDateTime) >= 10)) then begin DBGrid1.Canvas.Brush.Color:= clAqua; DBGrid1.Canvas.Font.Color:= clWindowText; end; DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column.Field, State); end;
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)