Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Impresión (https://www.clubdelphi.com/foros/forumdisplay.php?f=4)
-   -   Reportes sin DataSet en FastReporto, FreeReport o RAVE (https://www.clubdelphi.com/foros/showthread.php?t=28298)

onlytk 15-12-2005 14:07:37

Reportes sin DataSet en FastReporto, FreeReport o RAVE
 
Hola amigos, haber si alguien me saca de dudas, como puedo hacer los Reportes sin DataSet, en el QuickReport se puede utilizar la Banda QRStringsBand o sino el evento OnNeedData para llenar el reporte como a uno le paresca, yo lo utilice así y me funciona, pero mi duda es Si existe algun evento o metodo para hacer este trabajo en otros Reporteadores como el FastReport el FreeReport o el RAVE????

Salu2, y gracias de antemano por las respuestas.

Johnny Q 15-12-2005 20:31:45

Hola

Pues no se si entiendi muy bien la pregunta, pero en Rave generalmente se crea un DataView y se asocia con un dataset.

Otra cosa es que tu quieras crear un reporte sin que haya mediación de delphi o c++.

Si puedes ampliar un poco mas el objetivo que persigues talvez la respuesta pueda ser mejor

bustio 15-12-2005 21:35:57

Me sumo a la pregunta
 
Cita:

Empezado por onlytk
Hola amigos, haber si alguien me saca de dudas, como puedo hacer los Reportes sin DataSet, en el QuickReport se puede utilizar la Banda QRStringsBand o sino el evento OnNeedData para llenar el reporte como a uno le paresca, yo lo utilice así y me funciona, pero mi duda es Si existe algun evento o metodo para hacer este trabajo en otros Reporteadores como el FastReport el FreeReport o el RAVE????

Salu2, y gracias de antemano por las respuestas.


Estoy haciendo lo mismo con FastReport y no tengo ni idea de como lograr esto. La duda mia mas exactramente es como poder insertarle valores a un Report si tener que usar un DataSet o algo asi qeu tenga eu ver con componentes para BD pues los datos que quiero insertar son datos que uso en mi programa y no tienen nada que ver con BDs...

roman 15-12-2005 22:06:35

Siempre es posible utilizar un ClientDataSet que puedes llenar con datos específicos de tu aplicación, sin conectarlo a ninguna base de datos, y enlazar el reporte a este dataset.

// Saludos

bustio 15-12-2005 22:41:48

Cita:

Empezado por roman
Siempre es posible utilizar un ClientDataSet que puedes llenar con datos específicos de tu aplicación, sin conectarlo a ninguna base de datos, y enlazar el reporte a este dataset.

// Saludos

Anja... y como lo hago?!?!?! LLevo unos cuantos dias en eso y ni modo.. no me sale!!! Te molestaria darme un adelantito?

onlytk 15-12-2005 23:04:14

Cita:

Siempre es posible utilizar un ClientDataSet...
Supongo que es usando el componente RxMemoryData (que simula ser una tabla) de los Componentes Rx Library para Delphi http://sourceforge.net/projects/rxlib/, pero esto quiere decir que el FastReport, FreeReport y el RAVE, no tienen un evento como el OnNeedData del QuickReport para hacerlo directamente sin utilizar otro componente???.

Salu2.

roman 15-12-2005 23:06:23

Aclaro primero que de FastReport no sé nada. Simplemente me baso en que un reporteador normalmente enlaza a un dataset, de manera que presupongo que los datos que deseas mostrar pueden, de una u otra forma, organizarse en forma tabular (fílas y columnas).

Con el ClientDatSet primero que nada defines la estructura que debe tener, tal y como definirías la estructura de una tabla en una base de datos. Para ello usas su propiedad FieldDefs. FieldDefs es una colección de objetos TFieldDef de cuyas propiedades te interesarán básicamente estas:
  • Name - nombre del campo
  • DataType - tipo de datos del campo
  • Size - para el caso de campos string, indica la lingitud máxima.

Todo esto lo puedes hacer en el inspector de objetos o vía código.

Una vez terminada la definición de la estructura utilizas el método CreateDataSet del ClientDataSet o bien, durante el diseño, abres el menú contextual de la componente y escoges la misma opción.

Con esto tienes ya el ClientDataSet listo para usarse como si de un Table se tratase. Usas Append para agregar registros, FieldByName para asignar valores a sus campos y Post para guardar los cambios. Todos estos cambios se guardan en memoria.

Una vez llenado el ClientDataSet de datos, lo activas y lo enlazas al reporte desde el cual podrás colocar controles que se conencten con los distintos campos en la forma en que usualmente lo harías- que desconozco en FastReport.

Los datos del ClientDataSet los puedes guardar en un archivo .cds con su método SaveToFile y recuperarlos con LoadFromFile.

// Saludos

roman 15-12-2005 23:10:04

Cita:

Empezado por onlytk
Supongo que es usando el componente RxMemoryData

El RxMemoryData no es lo mismo que un ClientDataSet, pero si desciende de TDataSet entonces seguramente también con éste puede hacerse.

// Saludos


La franja horaria es GMT +2. Ahora son las 13:58:47.

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