![]() |
QReport sin usar BD
Hola
tengo una aplicación en la cual quiero generar informes con QReport, el problema es que los datos que quiero meter en el informe no provienen de una base de datos, sino que viene de un fichero de texto por ejemplo. ¿Alguien me puede hechar una mano? Saludos y gracias! |
Puedes usar el evento OnPreview y el OnNeedData para ir cargando tus datos. Deberás usar el resto de componentes q no cargan desde tablas (QRLabel, QRMemo,...). Lo que pasa es q si no usas ninguna base de datos, las detail bands no te serviran para nada (no se agrandaran automaticamente, por ejemplo, ni saltaran de pagina solas) por lo que deberas programar tu mismo en los eventos OnPrint, Onpreview, etc....
Es muy faenoso. Te recomiendo que hagas una tabla temporal y en ella cargues los datos, para luego volcarlos de manera convencional a la QReport. Tambien hay otros componentes por internet para generar informes (EKRTF, por ejemplo) Venga, espero q te sirva. |
Hola yomismo24, para conseguir lo que quieres debes usar el evento OnNeedData del QuickResport.
En el evento BeforePrint del QuickReport, abrimos el archivo para poder leerlo despues.
En el evento OnNeedData del QuickReport recorremos todo el archivo y cada linea que leamos lo asociamos a nuestro QrLabel, donde el QrLabel deberas colocarlo en tu BandaDetail para que se vayan imprimiendo todas las lineas de tu archivo.
Y en el evento AfterPrint del QuickReport, cerramos el archivo.
Saluditos |
Creo que si no quieres perder la funcionalidad que te da QReport para el manejo de tablas, pues deberias considerar pasar tus datos de texto, a un ClientDataSet, claro si tu archivo de texto te lo permite.
Saludos |
Gracias!
Hola
gracias por las respuestas, me han servido de mucha ayuda ya que estaba muy perdido (es lo que tenemos los novatos :D). Al final he optado por la opción de cargar los datos en un ClientDataSet y a partir de ahí generar los informes. Funciona perfectamente, ahora ya solo falta pelearme para darle el formato adecuado jeje. Muchas gracias y saludos! |
La franja horaria es GMT +2. Ahora son las 09:45:46. |
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