Fórum Programando Timer Delphi 7 Por Favor me ajudem !! #420043
17/07/2012
0
Estou desenvolvendo um programa de cadastro de funcionario terceiro.
Eu queria que no DBGRID ficasse em vermelho, quando a data da integração do funcionario vencesse .
Eu pensei em algo assim ,programar algo no componente TIMER.
Exemplo mais claro !
Cadastrei um funcionario hoje a integração dele na empresa é valida por 30 dias , chegando nessa data de vencimento automaticamente no DBGRID mudasse a cor para vermelho.
Sei que existe algo parecido com isso, mas nem imagino como faz.
Alguém pode me ajudar ..
Desde ja Muito Obrigado.
Watson Rocha
Curtir tópico
+ 0Posts
18/07/2012
Anderson Rodrigues
[].s
Gostei + 0
18/07/2012
Eliel Martins
Conforme foi relatado abaixo, você deve utilizar o evento OnDrawColumn, estou colocando abaixo um exemplo de um código que fiz para um gerenciamento de contas a pagar.
procedure TFrmGerenciador_Contas_Pagar.Grid_Gen_PagarDrawColumnCell(
Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
{Situação Lançamento}
if Column.Field = Cds_Gen_PagarCPG_IMG then begin
Grid_Gen_Pagar.Canvas.FillRect(Rect);
Grid_Gen_Pagar.DefaultDrawDataCell(Rect,Column.Field,State);
if (Cds_Gen_Pagar.FieldByName(CPG_VENCIMENTO).AsDateTime > Date) and
(Cds_Gen_Pagar.FieldByName(CPG_VALOR_PAGO).AsFloat = 0) then begin
cxImg.Draw(Grid_Gen_Pagar.Canvas,rect.Left + 6,rect.top,0);
end else if (Cds_Gen_Pagar.FieldByName(CPG_VENCIMENTO).AsDateTime < Date) and
(Cds_Gen_Pagar.FieldByName(CPG_VALOR_PAGO).AsFloat = 0) then begin
cxImg.Draw(Grid_Gen_Pagar.Canvas,rect.Left + 6,rect.top,2);
end else if (Cds_Gen_Pagar.FieldByName(CPG_VENCIMENTO).AsDateTime = Date) and
(Cds_Gen_Pagar.FieldByName(CPG_VALOR_PAGO).AsFloat = 0) then begin
cxImg.Draw(Grid_Gen_Pagar.Canvas,rect.Left + 6,rect.top,10);
end else if Cds_Gen_Pagar.FieldByName(CPG_VALOR_PAGO).AsInteger > 0 then begin
cxImg.Draw(Grid_Gen_Pagar.Canvas,rect.Left + 6,rect.top,7);
end else begin
cxImg.Draw(Grid_Gen_Pagar.Canvas,rect.Left + 6,rect.top,11);
end;
end;
end;
Espero ter ajudado.
Atenciosamente,
Eliel G. Martins
Gostei + 0
19/07/2012
Watson Rocha
Eu fiz esse esquema e deu erro is not a valid date and time ...
Gostei + 0
19/07/2012
Watson Rocha
Gostei + 0
19/07/2012
Joel Rodrigues
Gostei + 0
20/07/2012
Watson Rocha
eu coloquei um DBcombobox e dois itens nele , BLOQUEADO E DESBLOQUEADO .
Eu queria que no DBGRID quando for selecionado BLOQUEADO a linha inteira ficasse vermelha e quando voltasse para DESBLOQUADO ficasse preto ...
Alguem pode me dar uma luz !!
minha tabela é sesmt e o campo que irá receber essas informações no banco é STATUS.
Obrigado
Gostei + 0
21/07/2012
Watson Rocha
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)