Mudar as cores no evento DrawColumnCell!!!
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; end
poré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; end
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!!!
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 :)