Ver Mensaje Individual
  #7  
Antiguo 15-12-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Reputación: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
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
Responder Con Cita