Fórum Calculos em campo data do dbgrid #464878
25/12/2013
0
1) Caso a data_entrada ultrapasse 'x' dias a linha do dbgrid deve ficar de uma determinada cor.
2) Caso a data_previsao seja alcançada a linha do dbgrid deve ficar de outra cor.
Gostaria, se nao for abusar, de uma explicação da funcao que for postada como ajuda para que eu possa entender a logica do funcionamento de como o dbgrid manipula os dados e de como posso futuramente 'pegar' uma informação precisa em qualquer celula do dbgrid.
Obrigado a todos e um Feliz Natal para toda a comunidade.
Lammer Ltda
Curtir tópico
+ 0Posts
25/12/2013
Joel Rodrigues
Feliz Natal e, desde já, um ótimo Ano Novo.
Gostei + 0
25/12/2013
Lammer Ltda
Feliz Natal e, desde já, um ótimo Ano Novo.
Muito Bom o Texto!!! Muito Bom Mesmo!!! Obrigado, já consegui colorir o dbgrib.
Um detalhe: o codigo
procedure TForm1.DBGrid1DrawColumnCell
(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
if Table1.FieldByName('Salary').AsCurrency>36000 then
DBGrid1.Canvas.Font.Color:=clMaroon;
DBGrid1.DefaultDrawColumnCell
(Rect, DataCol, Column, State);
end;Como faço para adapta-lo para verificar se a data do campo é menor ou maior que a data atual?
Gostei + 0
25/12/2013
Lammer Ltda
Feliz Natal e, desde já, um ótimo Ano Novo.
Muito Bom o Texto!!! Muito Bom Mesmo!!! Obrigado, já consegui colorir o dbgrib.
Um detalhe: o codigo
procedure TForm1.DBGrid1DrawColumnCell
(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
if Table1.FieldByName('Salary').AsCurrency>36000 then
DBGrid1.Canvas.Font.Color:=clMaroon;
DBGrid1.DefaultDrawColumnCell
(Rect, DataCol, Column, State);
end;Como faço para adapta-lo para verificar se a data do campo é menor ou maior que a data atual?
Resolvido:
procedure TfrmPrincipal.DBGrid1DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
if (dmCadOS.qryLancOS.FieldByName('previsao').AsDateTime < Date) then
begin
DBGrid1.Canvas.Brush.Color:= RGB(255,0,0);
DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end
else
begin
DBGrid1.Canvas.Brush.Color:= RGB(0,255 ,0);
DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end
end;
Gostei + 0
25/12/2013
Joel Rodrigues
Grande abraço e bons códigos.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)