Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Impresión (https://www.clubdelphi.com/foros/forumdisplay.php?f=4)
-   -   QuickReport - BeforePreview (https://www.clubdelphi.com/foros/showthread.php?t=16426)

ibstk 27-11-2004 00:03:49

QuickReport - BeforePreview
 
Hola amigos,

Estoy utilizando el QuickReport v3 para impresion. Mi gustaria de habilitar o no un QRLabel de acuerdo com el valor de un campo. Algo asi:

if ADOTable.CampoTabla = '' then
QRLabel.Enabled := 'False';
else
QRLabel.Enabled := 'True';

Cual es el evento dondo puedo cambiar la propriedad del QRLabel antes de abrir la ventana del Preview? En el Preview los qrlabels seran o no mostrados (en Detail Band) de acuerdo com el valor del campo. Hay un evento BeforePreview?

eduarcol 27-11-2004 01:21:24

Los TqrLabel tienen un evento llamado OnPrint, este evento se dispara antes de imprimir las etiquetas, podrias hacer esto

Código Delphi [-]
if ADOTable.CampoTabla = '' then
   Value := '';
else
   Value := 'Lo que sea';

ibstk 27-11-2004 07:21:02

hola eduarcol,

Gracias! Hey lido el manual y es exactamente esto pero, no hace efecto.

Para testar, en el evento OnPrint de un QRLabel estou hacendo:

Value := 'Madri, ' + FormatDateTime(dd "de" mmmm "de" yyyy',Date);

Nadia acontece! No hay una otra propriedad que tengo que cambiar tambien? Sabes que pasa?

eduarcol 27-11-2004 13:16:33

De momento se me ocurre es una sola cosa, tienes programado el evento onPrint de un tQRDBText ese evento no se dispara si el campo que asocia esa etiqueta esta en blanco, podria ser eso?.

Otra cosa, en que banda lo colocastes?

Lepe 27-11-2004 13:52:15

Usa la propiedad Enabled en ese evento, a mi me ha funcionado ( aunque he usado un QRDBtext).

Igual tampoco estoy entendiendo lo que quieres hacer ya que :

qrlabel.Enabled:= 'False';

entre comillas el false... no lo veo claro.

Si lo que quieres es que un campo determinado no salga en el informe, simplemente pon su propiedad Enabled := False. Por supuesto el origen de datos del control debe estar bien especificado, es decir, el datasource y Field.

saludos

marcoszorrilla 27-11-2004 14:50:06

Abundando en lo dicho por Lepe, aquí va un ejemplo que lleva funcionado mucho tiempo. (esto está incluido en el evento BeforePrint.

Código Delphi [-]
  //Analizar si hay descuento para mostrarlo en la factura
  if DmVil.FactBase.Value < DmVil.FactSubtotal1.Value then
  begin
  lbSubtotal.enabled:=True;
  lbDescuento.Enabled:=True;
  lbBaseimp.Enabled:=True;
  lbDescpor.Enabled:=True;
  QrdbSubtotal1.Enabled:=True;
  QrdbDescpor.Enabled:=True;
  QrdbDescuento.Enabled:=True;
  QrdbSubtotal2.Enabled:=True;
  end;

Un Saludo.

le4br 28-11-2004 23:10:29

Cita:

Empezado por ibstk
... Nadia acontece! No hay una otra propriedad que tengo que cambiar tambien? Sabes que pasa?

Hola amigo,

El evento OnPrint no responde en el Preview. Los codigos en un event handler funcionam solo en runtime.

ibstk 29-11-2004 23:18:08

Funciono! Gracias a todos!!!


La franja horaria es GMT +2. Ahora son las 17:08:05.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi