FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
QuickReport y creacion de paginas en tiempo de ejecución
Necesito hacer un reporte en quickReport tomando como fuente dos listbox normales sin conexión a bases de datos. En el formulario de QuickReport tengo un pageheader, un detail band y un pagefooter. Creo los QrLabels en tiempo de ejecución de la sig. manera
Código Delphi [-] procedure TFrmChofer.Button3Click(Sender: TObject); var y : integer; begin conteo:=FrmChofer.ListBox1.Count; tp:=45; // top del qrLabel dentro del detail band for y:=1 to conteo do begin lblNombre:=TQRLabel.Create(self); lblNombre.Parent:=FrmRepAbrevChofer.QRBand2; lblNombre.Top:=tp; lblNombre.Left:=10; lblNombre.Width:=50; lblNombre.Caption:=FrmChofer.ListBox2.Items[y-1]; lblNorm:=TQRLabel.Create(self); lblNorm.Parent:=FrmRepAbrevChofer.QRBand2; lblNorm.Top:=tp; lblNorm.Left:=210; lblNorm.Width:=100; lblNorm.Caption:=FrmChofer.ListBoxPromNorm.Items[y-1]; End; Lo que he intentado y no me ha salido es imprimir 10 registros en cada pagina del Qreport, pero le he intentado con las propiedades del detail band como ForceNewPage y la propiedad del Qreport NewPage y ninguna me da resultados algo asi intento Código Delphi [-] if y > 10 then begin FrmRepAbrevChofer.QuickRep1.NewPage; FrmRepAbrevChofer.QRBand2.ForceNewPage:=true; end; Alguien me puede dar una idea o alguna forma para resolver este dilema De antemano les agradesco su apoyo Saludos!!! |
#2
|
|||
|
|||
Espero haber entendido.
No está muy claro tu problema, pero creo que te he entendido. Intenta esto:
Declaras dos variables privadas, una vIndice y otra vContador. En el evento BeforePrint del QuickReport pones vIndice a cero y en el eveto onStartPage incializas vContador a cero. Usa el evento OnNeedData para incrementar vIndice e ir accediendo a los elementos del ListBox, poniendo MoreData a False cuando llegues al final de la lista. En el evento AfterPrint de la banda de detalle incremetas vContador, y si vContador llega a 10 entonces llamas al método Newpage (QuickRep1.NewPage) . Puedes tener creado los qrlabels en tiempo de diseño, y si quieres ocultar alguno para que no se imprima usa la propiedad enabled del qrlabel en el evento BeforePrint de la banda. Saludos. |
#3
|
|||
|
|||
Gracias
Gracias afxe, no habia tenido tiempo para responder, probe la solución que me ofreciste, pero creo que hay algo mal en mi aplicación por que la logica es la correcta pero a la hora de implementarlo no mas no sale. Creo que he desistido de usar QuickReport para este reporte por lo menos, le encontre la solución usando comandos de Rave Reports. Te agradesco la atención para contestar a mi pregunta.
Saludos!!! Adjunto el pedazo de código con el que resolví mi problema en Rave Reports para futuras consultas.
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
creacion de una base de datos en tiempo de ejecucion | lokodelphi | SQL | 3 | 24-04-2006 14:37:43 |
Creación de componentes en tiempo de ejecución | jymy788 | Varios | 2 | 27-01-2005 17:22:20 |
Creación de tablas temporales en ADO en tiempo de ejecución | Athalon | Conexión con bases de datos | 1 | 27-04-2004 13:20:20 |
Creación de tabla en tiempo de ejecución | sledgehammer | Conexión con bases de datos | 3 | 16-09-2003 15:08:01 |
Creacion de componente en tiempo de ejecución | cone220 | OOP | 1 | 16-09-2003 03:47:16 |
|