Fórum Mudar as cores no evento DrawColumnCell!!! #597324
24/09/2018
0
Bom dia.
Estou com um probleminha que não estou conseguindo resolver.
Tenho dois DBGrids onde no 'Dbgrid1' coloco as contas e no 'Dbgrid2' as parcelas das mesmas e desta forma atualizo as cores conforme baixa nas contas e parcelas.
Digamos que para o 'Dbgrid1' uso o DM.qcontasareceber e no 'Dbgrid2' uso o DM.qparcelasR.
Preciso que as contas vencendo no dia atual fiquem conforme abaixo.
porém preciso puxar mais um campo para validação do DM.qparcelasR mais ou menos assim
porém quando coloco desta forma acima não muda a cor do grid como se não reconhecesse o comando.
Alguém pode me ajudar?
Segue abaixo todo o código de pintura para quem interessar!!!
Todos os demais códigos estão todos funcionando!!!
Estou com um probleminha que não estou conseguindo resolver.
Tenho dois DBGrids onde no 'Dbgrid1' coloco as contas e no 'Dbgrid2' as parcelas das mesmas e desta forma atualizo as cores conforme baixa nas contas e parcelas.
Digamos que para o 'Dbgrid1' uso o DM.qcontasareceber e no 'Dbgrid2' uso o DM.qparcelasR.
Preciso que as contas vencendo no dia atual fiquem conforme abaixo.
//A Pagar Hoje
else if (dm.qcontasreceberPROXIMOPAGAMENTO.Value = date) then
begin
DBGrid1.Canvas.Brush.Color := clGray;
DBGrid1.Canvas.Font.Color := clBlack;
endporém preciso puxar mais um campo para validação do DM.qparcelasR mais ou menos assim
//A Pagar Hoje
else if (dm.qcontasreceberPROXIMOPAGAMENTO.Value = date) and
(dm.qparcelas_RContaFinalizada.Value = 'Não') then
begin
DBGrid1.Canvas.Brush.Color := clGray;
DBGrid1.Canvas.Font.Color := clBlack;
endporém quando coloco desta forma acima não muda a cor do grid como se não reconhecesse o comando.
Alguém pode me ajudar?
Segue abaixo todo o código de pintura para quem interessar!!!
Todos os demais códigos estão todos funcionando!!!
procedure Tfrm_ContasAReceber.DBGrid1DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
// Selecionado
if (gdSelected in State) or (gdFocused in State) then
Begin
DBGrid1.Canvas.Brush.Color := clBlue;
DBGrid1.Canvas.Font.Color := clWhite;
End
// Sem gerar Parcela
Else if (dm.qcontasreceberESTATUS.Value = 'QUITADO') and
(dm.qContasreceberULTIMAPARCELA.Value = 0) then
begin
DBGrid1.Canvas.Brush.Color := clBlack;
DBGrid1.Canvas.Font.Color := clWhite;
end
// Pago
Else if (dm.qContasreceberESTATUS.Value = 'QUITADO') then
begin
DBGrid1.Canvas.Brush.Color := clYellow;
DBGrid1.Canvas.Font.Color := clBlack;
end
//A Pagar Hoje
else if (dm.qcontasreceberPROXIMOPAGAMENTO.Value = date) then
begin
DBGrid1.Canvas.Brush.Color := clGray;
DBGrid1.Canvas.Font.Color := clBlack;
end
// Vencida
else if (dm.qcontasreceberPROXIMOPAGAMENTO.Value < date) and
(dm.qcontasreceberESTATUS.Value = 'PENDENTE') then
begin
DBGrid1.Canvas.Brush.Color := clRed;
DBGrid1.Canvas.Font.Color := clWhite;
end
// A Pagar
else if (dm.qContasreceberPROXIMOPAGAMENTO.Value > date)and
(dm.qcontasreceberESTATUS.Value = 'PENDENTE') then
begin
DBGrid1.Canvas.Brush.Color := clGreen;
DBGrid1.Canvas.Font.Color := clWhite;
end;
DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;
Marcelo Mousinho
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)