Uso de CrystalReportViewer en .net
Crystal Reports para Visual Studio 2005 incluye controles de formulario estándar para ver informes. Cada control encapsula información compleja de diseño de informes en un objeto GUI de caja de herramientas.
Existen dos tipos de controles:
Control CrystalReportViewer.
Este control muestra el informe en un diseño basado en páginas que se puede mover entre páginas.
Control CrystalReportPartsViewer.
Este control muestra información resumida del informe en una pequeña ventana similar a un portal y puede profundizar en el informe a través de una serie de componentes de enlace.
Cada control se puede utilizar para mostrar un informe arrastrando y soltando el control desde la Caja de herramientas a un formulario Web o Windows Form y luego asignando la propiedad ReportSource del control al informe.
El modelo de objetos CrystalReportViewer es el más simple de los cuatro modelos de objetos. Sin embargo, debido a su funcionalidad limitada, este modelo de objetos generalmente no se recomienda en favor del modelo de objetos ReportDocument más amplio.
El modelo de objetos CrystalReportViewer proporciona siete soluciones de vinculación de informes:
Usar código para vincular a la ruta del directorio de archivos
Usar código para vincular a la ruta del directorio de archivos. Consulte también
Vincular a la ruta del directorio de archivos a través de la ventana Propiedades | Lista detallada de todos los escenarios básicos del SDK | Modelo de objetos CrystalReportViewer
Idioma
C#
Visual Basic
Mostrar todo
Modelo de objetos
Esta solución de enlace de informes utiliza CrystalReportViewer (consulte Enlace de informes con el modelo de objetos CrystalReportViewer)
La ubicación del informe
El informe se encuentra en un directorio de archivos.
Descripción
Este es el escenario de vinculación de informes más simple: vincúlelo al control CrystalReportViewer utilizando la cadena de ruta del informe ubicado en el directorio de archivos.
Ventajas
Bajo mantenimiento: Los informes se pueden agregar, eliminar o modificar sin volver a compilar la aplicación.
Implementación sencilla: no es necesario declarar ni crear instancias de clases. Pasa el informe directamente al control CrystalReportViewer sin utilizar el modelo de objetos ReportDocument.
Desventajas
Distribución limitada: debido a la complejidad de otorgar acceso a una cuenta de usuario ASPNET a otra computadora en la red, los informes generalmente se ubican en la misma computadora que la aplicación.
Modelo de objetos limitado: este esquema de enlace solo proporciona un modelo de objetos limitado que pertenece a CrystalReportViewer. Consulte ¿Qué modelo de objetos debo utilizar? .
Implementación
Nota Este procedimiento solo se aplica a proyectos que se han creado a través de la configuración del proyecto. La configuración del proyecto contiene las referencias de espacios de nombres específicos y la configuración del código necesarios para este procedimiento, sin los cuales no podrá completar este procedimiento. Por lo tanto, antes de iniciar este proceso, primero debes realizar los pasos de la configuración del proyecto.
En el método ConfigureCrystalReports() (creado en la sección Configuración del proyecto), asigne una cadena de ruta del directorio de archivos a la propiedad ReportSource de la clase CrystalReportViewer.
Esto vinculará el informe directamente al control. Toda interacción programática con el informe debe realizarse dentro del modelo de objetos limitado CrystalReportViewer.
[Visual Basic]
myCrystalReportViewer.ReportSource = _
"C:\Program Files\Microsoft Visual Studio 8\" _
& "Crystal Reports\Samples\zh-chs\Reports\General Business\" _
& "World Sales Report.rpt"
[C#]
crystalReportViewer.ReportSource =
"C:\\Archivos de programa\\Microsoft Visual Studio 8\\"
+ "Crystal Reports\\Samples\\zh-chs\\Reports \\General Business\\"
+ "World Sales Report.rpt";
Tenga en cuenta que la ruta del directorio de archivos apunta al informe de muestra en Visual Studio 2005. Para ver la ruta completa a un informe de muestra en su versión de Crystal Reports
Vincular a la ruta del directorio de archivos a través de la ventana Propiedades
Vincular al directorio de archivos a través de la ventana Propiedades Ver ruta
Enlace al control CrystalReportSource (sitio web en Visual Studio 2005) | Lista detallada de todos los escenarios | Conceptos básicos del SDK | Modelo de objetos CrystalReportViewer
Idioma
C# p>
Visual Basic
Mostrar todo
Modelo de objetos
Este esquema de enlace de informes utiliza CrystalReportViewer (consulte A través del objeto CrystalReportViewer, el modelo realiza el enlace de informes. )
La ubicación del informe
El informe se almacena en el directorio de archivos.
Descripción
Esta es una versión alternativa de la solución de vinculación de informes más simple, que utiliza código para vincularse a la ruta del directorio de archivos. Vincule el informe en el directorio de archivos al control CrystalReportViewer mediante una cadena de ruta, pero asigne el valor en la ventana Propiedades, directamente a la propiedad ReportSource o a la propiedad DataBindings>ReportSource.
Para proyectos web, la cadena de ruta del informe se inserta directamente en el HTML de la página ASPX en lugar de en el código de la clase de código subyacente.
Beneficios
Vista previa en tiempo de diseño: obtenga una vista previa de los informes en tiempo de diseño en la Web o Windows Forms.
Nota La función de vista previa en tiempo de diseño ya existe en el sitio web, pero es una función completamente nueva en los proyectos de Windows. Para obtener más información, consulte ¿Cómo uso el control CrystalReportViewer? Vista previa en tiempo de diseño en la sección.
Los mismos beneficios enumerados al vincular rutas de directorio de archivos con código.
Desventajas
Para aplicaciones web, dado que el enlace se produce en la página HTML, es necesario llamar al método DataBind() en la clase de código subyacente para el control CrystalReportViewer.
Nota Esta limitación ya no está disponible en Crystal Reports para Visual Studio 2005. Para obtener más información, consulte Enlace de datos automático desde la ventana Propiedades a Crystal Reports.
Distribución limitada: debido a la complejidad de otorgar acceso a una cuenta de usuario de ASPNET a otra computadora en la red, los informes generalmente se ubican en la misma computadora que la aplicación.
Modelo de objetos limitado: este esquema de enlace solo proporciona un modelo de objetos limitado que pertenece a CrystalReportViewer. Consulte ¿Qué modelo de objetos debo utilizar? .
Implementación
Utilice la ventana Propiedades para vincular la ruta del directorio de archivos.
Cree un nuevo proyecto web o de Windows.
Arrastre y suelte un CrystalReportViewer desde la Caja de herramientas a una Web o Windows Form.
Haga clic en el control CrystalReportViewer para seleccionarlo.
Desde la ventana Propiedades, asigne una cadena de ruta del directorio de archivos a la propiedad ReportSource.
C:\Program Files\Microsoft Visual Studio 8\Crystal Reports\Samples\zh-chs\Reports\Feature Ejemplos\Hierarchical Grouping.rpt
Tenga en cuenta que la ruta del directorio de archivos apunta al informe de muestra visual en Studio 2005. Para ver la ruta completa a un informe de muestra en su versión de Crystal Reports, consulte el índice de informes de muestra.
Debido a la función de vista previa en tiempo de diseño, este informe se muestra en modo de vista previa.
Para ver este informe, cree y ejecute su proyecto.
Si creó un proyecto web usando Crystal Reports para Visual Studio .NET 2002 o 2003, también necesita agregar código a la clase de código subyacente que llama al método DataBind() del control CrystalReportViewer. Para obtener más información, consulte la sección "Desventajas" anteriormente en esta página.
Agregar una llamada al método CrystalReportViewer.DataBind()
Nota: esta llamada al método solo es necesaria para proyectos web desarrollados en Crystal Reports para Visual Studio .NET 2002 o 2003.
Abra el formulario web en la vista Diseño.
En el menú Ver, haga clic en Código.
Amplíe el área "Código generado por Web Forms Designer".
Ingrese la llamada al método DataBind() del control CrystalReportViewer dentro del método de evento "Page_Init" [Visual Basic] o "OnInit" [C#] y debajo de la llamada al método a InitializeComponent().
[Visual Basic]
myCrystalReportViewer.DataBind()
[C#]
crystalReportViewer.DataBind();
Haga clic en el signo "-" en el área "Código generado por Web Forms Designer" para contraer esta área.
Para ver este informe, cree y ejecute su proyecto.
Enlace al control CrystalReportSource (sitio web en Visual Studio 2005)
Enlace al control CrystalReportSource (sitio web en Visual Studio 2005) Consulte
Enlace Definir el informe URL del servicio web | Lista detallada de todos los escenarios | Conceptos básicos del SDK | Modelo de objetos CrystalReportViewer
Modelo de objetos
Este escenario de vinculación de informes utiliza CrystalReportViewer (consulte Mediante el modelo de objetos CrystalReportViewer Realizar vinculación de informes). /p>
La ubicación del informe
El informe se almacena en el directorio de archivos.
Descripción
Esta es una versión alternativa de la solución de vinculación de informes más simple, que utiliza código para vincularse a la ruta del directorio de archivos. En este escenario, se utiliza el nuevo modelo de desarrollo de aplicaciones basado en etiquetas y sin código de ASP.NET versión 2.0 para vincular el informe. Para obtener más información sobre el modelo de desarrollo de aplicaciones basado en marcas, consulte Modelo de desarrollo de aplicaciones basado en código.
Tenga en cuenta que esta solución de vinculación de informes solo se aplica a sitios web.
En este escenario, utiliza una tarea inteligente para crear un control CrystalReportSource. Luego, seleccione un informe para el control CrystalReportSource.
En lugar de escribir código manualmente para interactuar con los informes y permite el acceso al modelo de objetos CrystalReportViewer.
Utilizando XML declarativo, puede asociar las etiquetas
Nota Los parámetros y el marco de origen de datos son características nuevas de ASP.NET 2.0. Incluyen los siguientes controles: ControlParameter o QueryStringParameter y SqlDataSource o JetDataSource.
El modelo de desarrollo de aplicaciones basado en etiquetas proporciona una manera rápida y sencilla de tener una interacción limitada con informes sin escribir código.
Beneficios
Vista previa en tiempo de diseño: obtenga una vista previa de los informes en tiempo de diseño en la Web o Windows Forms.
La forma más sencilla de crear interacciones con informes: se puede utilizar un enfoque simplificado y sin código para el modelo de desarrollo de aplicaciones basado en marcas para interactuar con los informes.
Los mismos beneficios enumerados al vincular rutas de directorio de archivos con código.
Desventajas
Distribución limitada: debido a la complejidad de otorgar acceso a una cuenta de usuario ASPNET a otra computadora en la red, los informes generalmente se ubican en la misma computadora que la aplicación.
Modelo de objetos limitado: este esquema de enlace solo proporciona un modelo de objetos limitado que pertenece a CrystalReportViewer.
Vea qué modelo de objetos debe usarse
Vincular a la URL del servicio web de informes
Vincular a la URL del servicio web de informes Consulte
CrystalReportViewer usando esquemas de vinculación de Crystal Services | Lista detallada de todos los esquemas | Conceptos básicos del SDK | Modelo de objetos CrystalReportViewer
Idioma
C#
Visual Basic
Toda visualización
Modelo de objetos
Esta solución de enlace de informes utiliza CrystalReportViewer (consulte Enlace de informes a través del modelo de objetos CrystalReportViewer).
La ubicación del informe
Los informes existen como informes de servicios web alojados en un servidor web (normalmente remoto).
Descripción
Un informe almacenado en otro servidor como un Servicio Web de Informes está vinculado al control CrystalReportViewer a través de su URL.
Beneficios
Amplia distribución: Los informes se pueden ubicar en cualquier lugar de Internet.
Fácil de distribuir: el servicio web de informes utiliza el puerto 80, por lo que se puede acceder a él incluso a través de firewalls.
Desventajas
Modelo de objetos limitado: este esquema de enlace solo proporciona un modelo de objetos limitado que pertenece a CrystalReportViewer. Consulte ¿Qué modelo de objetos debo utilizar? .
Implementación
Nota Este procedimiento solo se aplica a proyectos que se han creado a través de la configuración del proyecto. La configuración del proyecto contiene las referencias de espacios de nombres específicos y la configuración del código necesarios para este procedimiento, sin los cuales no podrá completar este procedimiento. Por lo tanto, antes de iniciar este proceso, primero debes realizar los pasos de la configuración del proyecto.
En el método ConfigureCrystalReports() (creado en la sección Configuración del proyecto), asigne una cadena URL del servicio web de informe a la propiedad ReportSource de la clase CrystalReportViewer.
Esto vinculará el informe directamente al control. Toda interacción programática con el informe debe realizarse dentro del modelo de objetos limitado CrystalReportViewer.
[Visual Basic]
myCrystalReportViewer.ReportSource = _
"http://localhost/TestProject/World_Sales_ReportService.asmx"
[C#]
crystalReportViewer.ReportSource =
"http://localhost/TestProject/World_Sales_ReportService.asmx";
Tenga en cuenta si desea utilizar este enlace esquema, cree un proyecto de servicio web de informes en Visual Studio 2005.
Esquema de enlace de CrystalReportViewer utilizando el servicio Crystal
Ver