PDA

Ver la Versión Completa : Formato de Color para un QRExpr en Qreport


JANDREGUE
26-09-2003, 02:33:59
:) hola de nuevo........

Amigos deseo saber si es posible que en un Qreport... pueda fomatear los campos númericos que asume el QRExpr de acuerdo a su valor Ej:

Si el Campo es Cantidad y tiene valores positivos y negativos...suponiendo que es un Inventario por ej.... quiero que los valores negativos sean rojos y los positivos negros por ejemplo.... si esto se puede y saben cómo por favor ayudenme....Gracias.

Alfredo Soler
26-09-2003, 03:17:07
Puedes cambiar el color al QRExpr en el evento. Preguntas si el valor del cambo en la tabla en mayor o menor de 0 y si es asi puedes ponerlo Negro o rojo.

Ejemplo:

if table1.FieldByName('campo').asfloat>=0 then
QRExpr1.Font.Color:=clBlack
else
QRExpr1.Font.Color:=clRed

JANDREGUE
26-09-2003, 10:54:20
:) No entiendo lo del evento...ya que para imprimir yo genero una consulta ... pero en esta no tengo forma de ir recorriendo los valores uno a uno para saber si es negativo o positivo.

Delphi Man
26-09-2003, 10:55:52
Se refiere en el evento del QrExpr, es decir, cuando la expresion es realizada

ummm....creo, que hace tiempo que no toco Delphi :P

__cadetill
26-09-2003, 11:52:52
en concreto en el OnPrint (ya que es el único que tiene) o bien en el BeforePrint del TQrBand contenedor del QrExpr

Alfredo Soler
27-09-2003, 02:54:04
Perdón por no explicarme bien, pero fue que respondí a las 2:00 AM y el sueño no me permitió revisar el masaje.

Lo que quise decir fue que podías utilizar el evento BeforePrint de la banda y aquí va el ejemplo completo otra vez.


procedure TForm1.QRBand1BeforePrint(Sender: TQRCustomBand;
var PrintBand: Boolean);
begin
if table1.FieldByName('campo').asfloat>=0 then
QRExpr1.Font.Color:=clBlack
else
QRExpr1.Font.Color:=clRed;
end;


Gracias cadetill

JANDREGUE
30-09-2003, 02:27:54
;) Gracia a todos...

Pude resolver el problema... de veras muchas gracias.... y has ta pronto........ok