Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Imprimir desde un vector en Qreport ? (https://www.clubdelphi.com/foros/showthread.php?t=29018)

Coco_jac 10-01-2006 15:08:56

Imprimir desde un vector en Qreport ?
 
Hola amigos del foro, desearia su ayuda es que necesito saber como puedo imprimir el contenido de un vector de registros que contiene datos de clientes (nombre, direccion, localidad,etc).y mostrarlos en un reporte.
Dichos clientes despues de ejecutar un proceso estos se eliminaran asi que los guardo en dicho vector. y quiero mostrarlos.

Gracias anticipadas.

delphi.com.ar 10-01-2006 15:17:53

Podrías utilizar el evento OnNeedData del QuickReport:
http://www.clubdelphi.com/foros/showthread.php?t=5214
http://www.clubdelphi.com/foros/showthread.php?t=16804

Otra opción, utilizando un dataset en memoria:
http://www.clubdelphi.com/foros/showthread.php?t=2444

Saludos!

Coco_jac 10-01-2006 15:31:02

Gracias por reponder. Tengo una pregunta entonces como ya no utilizaria los TQRDBText para mostrar la informacion colocaria solo QRLabels en la "Banda details" ahora en el QuickReport ?

Espero tus comentarios.

Coco_jac 10-01-2006 15:32:56

Si asi es es necesario, colocarlos ahi lei los post que pusiste..........
Gracias

delphi.com.ar 10-01-2006 15:38:47

¿Te contestaste?... de no ser así, para utilizar el OnNeedData tienes que utilizar controles que no sean DBAware y cargarlos "A mano" para cada iteración del evento.

Saludos!

Coco_jac 10-01-2006 16:29:37

Tengo una duda acerca de Moredata, como juega ? porque pense que cuando es negativo salia totalmente del evento. No muestra nada mi reporte
Aqui sta el codigo:

Código:


    if ItemIndex<= High(CodigoClietmp) then
    begin
      QRLcodigo.Caption :=CodigoClietmp[ItemIndex-1].codigo;
      QRLnombre.Caption :=CodigoClietmp[ItemIndex-1].nombre;
      QRLruc.Caption :=CodigoClietmp[ItemIndex-1].ruc;
      QRLdireccion.Caption :=CodigoClietmp[ItemIndex-1].direccion;
      QRLcolonia.Caption:=CodigoClietmp[ItemIndex-1].colonia;
      inc(ItemIndex);
    end;
    else
    MoreData:=false;

Solo pinta el primer registro y nada mas................que pasa???

Espero sus comentarios.
Gracias.

Coco_jac 10-01-2006 17:14:06

Amigos espero sus comentarios

delphi.com.ar 10-01-2006 17:20:52

Estas obligado a retornar True en MoreData, cuando quieras mas datos. En tu código solo estas retornando False cuando no lo quieras.

Saludos!

delphi.com.ar 10-01-2006 17:37:09

1 Archivos Adjunto(s)
Preparé un ejemplo:

Coco_jac 10-01-2006 17:46:08

Recibido entendido y ejecutado con buenos resultados.

Muchas gracias.

Coco_jac 10-01-2006 18:26:04

Hola una pregruta nuevamente lo que pasa es que estoy utilizando el mismo reporte como plantilla para visualizar este nuevo requerimiento pero lo malo que cuando mando otro proceso al reporte se muestra los label que puse en detalle para el caso del vector, incluso los puse su propiedad Visible a false pero todo igual siguen apareciendo........que puede ser?

delphi.com.ar 10-01-2006 19:13:22

Cita:

Empezado por Coco_jac
Hola una pregruta nuevamente lo que pasa es que estoy utilizando el mismo reporte como plantilla para visualizar este nuevo requerimiento pero lo malo que cuando mando otro proceso al reporte se muestra los label que puse en detalle para el caso del vector, incluso los puse su propiedad Visible a false pero todo igual siguen apareciendo........que puede ser?

¿Que sucede?: ¡Es quickreports! :D
Sinceramente pienso que quickreports es una muy buena idea muy mal implementada.
En tu explicación puedo deducir dos problemas típicos de QuickReports, el primero es que si en tiempo de diseño a un TQRLabel le pones el caption = '', cuando se cargue este componente tomará como caption nuevamente el nombre del control. Una solución práctica a esto es asignarle un espacio en lugar de vacío.
El otro problema típico es que la propiedad visible, no funciona como tal, si no quieres que un control se vea en el reporte, en lugar de Visible := False, tienes que poner Enabled := False....
¿Ahora entiendes porque esta muy mal implementado? :D

Coco_jac 10-01-2006 19:44:33

Gracias funciono bien, tienes razon esta mal implentado a pesar q es algo minimo


La franja horaria es GMT +2. Ahora son las 10:28:36.

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