Esta documentación está archivada y no tiene mantenimiento.

¿Qué son los controles de visores de informes?

Visual Studio 2005

Los controles de visores de informes son controles .NET que se pueden agregar a un formulario en una aplicación para Windows o Web, con el fin de mostrar los informes en dicho formulario.

¿Qué son los controles .NET?

Los controles de Microsoft .NET son un tipo especial de clases que se muestran en el cuadro de herramientas de Visual Studio 2005. Se agregan a Web Forms o Windows Forms como objetos GUI, y heredan de una clase base Control común. Los controles .NET típicos incluyen: Button, DropDownList, CheckBox, TextBox o DataGrid.

Los controles de Microsoft .NET cumplen las siguientes prácticas recomendadas: separan el nivel de presentación del nivel de la lógica de negocios. Encapsulan la información de presentación dentro del propio control en Web Forms o Windows Forms. En la clase de código subyacente, el control .NET se genera como una instancia de nivel de clase. Esta variable de instancia proporciona acceso a las propiedades, métodos y eventos del control

Los controles de Microsoft .NET son funcionalmente idénticos tanto para Windows Forms como para Web Forms. .NET Framework ve cada página Web como un formulario que contiene controles, como ocurre en las aplicaciones para Windows.

¿Por qué Crystal Reports utiliza los controles .NET para la presentación de informes?

Uno de los puntos fuertes de las herramientas de creación de informes es que encapsulan los problemas complejos de estructura, diseño y presentación de informes en una herramienta GUI sencilla. De igual forma, los controles .NET encapsulan los problemas complejos de presentación y llenado de datos de un objeto GUI sencillo en un Web Form o Windows Form.

Mediante el uso de controles .NET, se unifican la creación y la presentación complejas de informes. Toda esta información compleja de informes, que se solía encapsular sólo en la versión independiente de Crystal Reports, ahora se encapsula en un control .NET como visor de informes.

¿Cuántos controles de visores de informes hay?

Crystal Reports para Visual Studio 2005 incluye dos versiones del control CrystalReportViewer: una para aplicaciones Web y otra para aplicaciones para Windows. Los proyectos Web ASP.NET utilizan el control CrystalReportViewer, situado en el espacio de nombres CrystalDecisions.Web. Los proyectos de Windows utilizan el control CrystalReportViewer, situado en el espacio de nombres CrystalDecisions.Windows.Forms.

Nota   Crystal Reports para Visual Studio 2005 incluye varias mejoras importantes del control CrystalReportViewer. Para obtener más información, vea Cómo usar el control CrystalReportViewer?.
El control CrystalReportPartsViewer sólo se usa para mostrar elementos de informes en una página Web. Para aprender a usar el control de elementos de informes, vea Presentación de elementos de informes con el control CrystalReportPartsViewer.

Presentación de un informe mediante el control CrystalReportViewer

El control CrystalReportViewer muestra sólo un informe a la vez. El informe que muestra el control lo determina el informe enlazado al código. Para indicar al control el informe que se va a mostrar, enlace la propiedad ReportSource del control a un informe en concreto. En tiempo de ejecución, el control carga el informe enlazado a la propiedad ReportSource y lo muestra.

En su forma más sencilla, la asignación tiene el siguiente aspecto:

[Visual Basic]
crystalReportViewer1.ReportSource = "C:\WorldSalesReport.rpt"
[C#]
crystalReportViewer1.ReportSource = "C:\\WorldSalesReport.rpt";

En este caso, el informe está enlazado al control directamente desde su ruta en el directorio de archivos.

De esta forma se muestra la forma más básica de enlazar un informe al control CrystalReportViewer. Para obtener una lista completa de los casos de enlace, vea ¿Cuál es el caso de enlace de informes que se debe utilizar?

Otros controles .NET que muestran datos, como DataGrid, se enlazan a objetos de datos como DataSet. ¿El control CrystalReportViewer se enlaza a objetos de datos?

No. El control CrystalReportViewer se enlaza a un objeto de informe, no a un objeto de datos.

La razón es que el objetivo del control CrystalReportViewer es distinto al del resto de los controles .NET. Los demás controles .NET se enlazan a los datos y dan formato a los datos sin formato de la página. Puesto que Crystal Reports Designer incrustado lo hace automáticamente cada vez que crea un informe (un informe por definición encapsula la recuperación y presentación de datos), el control CrystalReportViewer sólo se ocupa de mostrar un objeto de informe.

En la siguiente tabla se comparan los enlaces a un control de datos .NET y a un control CrystalReportViewer.

Tipo de control Se enlaza a Conectividad del siguiente nivel
Control de datos .NET (como control DataGrid) Un objeto de datos (DataSet, DataReader, DataView, IDictionary, ICollection, DataTable). Nada
Control de visores de informes .NET (como control CrystalReportViewer) Un objeto de informe (que encapsula un archivo de informe Crystal). EL archivo de informe de Crystal dispone de conectividad de datos integrada, que se conecta a diversos orígenes de datos como ODBC y OleDb, así como a objetos DataReader y DataSet.

Para ayudarle a recordar que un control CrystalReportViewer enlaza a un objeto de informe, en vez de a un objeto de datos, la propiedad de origen del control de visor de informes se denomina ReportSource (no DataSource).

Enlace automático de informes

Otra diferencia del enlace de un control CrystalReportViewer es que no tiene que llamar manualmente a ningún método Bind, como haría para la mayoría de los controles .NET. En su lugar, el control enlaza automáticamente el visor de informes al objeto de informe. Para obtener más información sobre enlace de informes, vea ¿Cuál es el caso de enlace de informes que se debe utilizar?.

A continuación: Control CrystalReportViewer.

Vea también

Control CrystalReportViewer | ¿Cómo utilizo los controles de visores de informes? | Aspectos fundamentales del SDK

Mostrar: