OnNeedData Quick Report

Delphi

03/04/2008

Bom Dia Galera!

Fiz um relatório no QReport de um livro caixa. Os dados são retirados de um componente Query e jogados numa band rbDetail.
Tenho os dados ENTRADAS, SAIDAS e SALDO.
O problema é o seguinte:
Quero que, quando o valor em saldo for negativo, a cor do meu QRDBTEXT fique vermelha. Caso for positivo, azul.

Tentei colocar o seguinte no evento OnNeedData do QuickRep1:

procedure Timp_caixa.QuickRep1NeedData(Sender: TObject;
  var MoreData: Boolean);
begin
MOREDATA := not f_cons_caixa.Query1.Eof;
if f_cons_caixa.Query1SALDO.Value <=0 then
begin
QrDBText9.Font.Color:=clRed;
end
else
begin
QrDBText9.Font.Color:=clblue;
f_cons_caixa.Query1.Next;
end;


Mas nada ocorre. A fonte fica na cor original mesmo (clBlack). Help! Obrigado! :evil:


Pedralli

Pedralli

Curtidas 0

Respostas

Joaoshi

Joaoshi

03/04/2008

Colega, a verificação deve ser feita no evento [b:7528a28b15]BeforePrint[/b:7528a28b15] da banda
que esta do QrDbText

-- if f_cons_caixa.Query1SALDO.Value <=0 then
---- qrDBText9.Font.Color:=clRed
-- else
---- QrDBText9.Font.Color:=clblue;

Quando você utiliza um DataSet não precisa utilizar o NeedData, basta informar (no seu caso) query1 na propriedade DataSet do QuickReport.

Espero ter ajudado.


GOSTEI 0
POSTAR