Compartir a través de


Modelo de objetos ReportDocument

La clase ReportDocument proporciona un modelo de objetos más completo para el SDK que el modelo de objetos CrystalReportViewer.

La clase ReportDocument forma parte del espacio de nombres CrystalDecisions.CrystalReports.Engine. Funciona como puerta de enlace a un conjunto de clases del espacio de nombres Engine, que proporciona más herramientas para la manipulación de un informe mediante programación.

El modelo de objetos ReportDocument

En la sección anterior, aprendió a trabajar con el modelo de objetos CrystalReportViewer básico asignando la cadena de la ruta de un informe directamente al control CrystalReportViewer. Vea Modelo de objetos CrystalReportViewer.

En el siguiente nivel del modelo de objetos, utilice el modelo de objetos ReportDocument para encapsular el informe dentro de una instancia de ReportDocument, antes de que se asigne al control. De esta forma, se proporciona acceso al modelo de objetos más complejo y eficaz de ReportDocument.

Nota

Puesto que ambos modelos de objetos están implicados en este proceso (CrystalReportViewer para cargar y mostrar el informe, ReportDocument para encapsularlo y manipularlo), es fácil confundir las funciones de ambos modelos de objetos. Una vez que el modelo de objetos ReportDocument se ha utilizado para encapsular el informe, se debe restringir cualquier manipulación del informe a ese modelo. Si trata de utilizar las propiedades y los métodos de CrystalReportViewer para manipular el informe, los dos modelos de objetos entran en conflicto y genera un comportamiento inesperado.

Una vez que ha introducido un modelo de objetos adicional, restrinja el uso del código de CrystalReportViewer sólo para establecer propiedades de presentación.

Para obtener más información sobre cómo elegir un modelo de objetos, vea ¿Cuál es el modelo de objetos que se debe utilizar?.

ReportDocument y ReportClientDocument (RAS)

En Crystal Reports 9, ambos modelos de objetos eran totalmente independientes. En Crystal Reports 10 y versiones posteriores, se ha eliminado la separación básica entre los modelos de objetos. El modelo de objetos ReportDocument ahora funciona como proxy para (un subconjunto de) funcionalidad desde el modelo de objetos ReportClientDocument.

Crystal Reports 2008 permite acceder a una version limitada del modelo de objetos ReportClientDocument mediante la propiedad ReportDocument.ReportClientDocument.

Diagrama del modelo de objetos ReportDocument

Este diagrama muestra las relaciones del modelo de objetos ReportDocument.

Figura 3: Modelo de objetos ReportDocument

Vea también