Opciones de enlace del servicio Web de informes de Windows Forms Viewer

Antes de que la aplicación de Windows utilice un servicio Web de informes, debe enlazar el servicio a Windows Forms Viewer. En la siguiente sección se describen los métodos de enlace del servicio Web de informes a Windows Forms Viewer en diferentes casos.

Caso 1: servicio Web de informes

Suponga que se da una de las siguientes condiciones y que existe un informe Crystal disponible como servicio Web de informes:

En una aplicación de Visual Basic o de C#

  • El informe, My Report.rpt, está disponible como servicio Web de informes, My Report.asmx.

  • Se ha publicado MyReportService.asmx en el servidor Web, MyServer, del proyecto ServerProject.

  • En el lado del cliente, ha creado un proyecto Aplicación de Windows, MyProject.

  • Ha insertado Windows Forms Viewer, CrystalReportViewer1, en Windows Form, en MyProject.

    En una aplicación de C++

  • Ha creado un proyecto de C++ administrado, MyProject.

  • Ha insertado Web Forms Viewer, CrystalReportViewer1, en MyProject.cpp en MyProject.

Puede enlazar el servicio Web de informes de My Report.rpt a Windows Forms Viewer mediante el servicio Web de informes.

Enlazar por servicio Web de informes

Puede especificar la propiedad ReportSource mediante la vista Código de Windows Form:

[Visual Basic]

CrystalReportViewer1.ReportSource = "http://MyServer/ServerProject/My ReportService.asmx"

[C#]

crystalReportViewer1.ReportSource = "http://MyServer/ServerProject/My ReportService.asmx";

[C++]

CrystalReportViewer1->ReportSource = "http://MyServer/ServerProject/My ReportService.asmx";

[VJ#]

crystalReportViewer1.set_ReportSource( “http://MyServer/ServerProject/My ReportService.asmx”);

Caso 2: servicio Web de informes agregado al proyecto

Suponga que se dan las siguientes condiciones:

  • El informe, My Report.rpt, está disponible como servicio Web de informes, My Report.asmx.
  • Se ha publicado MyReportService.asmx en el servidor Web, MyServer, del proyecto ServerProject.
  • En el lado del cliente, ha creado un proyecto Aplicación de Windows, MyProject.
  • Ha insertado Windows Forms Viewer, CrystalReportViewer1, en Windows Form, en MyProject.
  • En el cliente, ha agregado el servicio Web de informes a MyProject.

Al agregar un servicio Web de informes a un proyecto de cliente se crea una clase de proxy. Puede enlazar el servicio Web de informes de My Report.rpt en Windows Forms Viewer utilizando una instancia del objeto proxy.

Nota    La acción de agregar y enlazar servicios Web de informes en proyectos de C++ requiere el uso de código. No hay ejemplos disponibles en C++.

Enlazar por objeto proxy

[Visual Basic]

En la vista Código de Form1.vb, detrás de la llamada a InitializeComponent(), especifique:

CrystalReportViewer1.ReportSource = new MyProject.localhost.My_ReportService()

[C#]

En la vista Código de Form1.cs, detrás de la llamada a InitializeComponent(), especifique:

crystalReportViewer1.ReportSource = new MyProject.localhost.My_ReportService();

[C++] No hay ejemplos disponibles en C++. Para ver cómo se hace esto en aplicaciones de C# o VB, haga clic en el botón Filtro de lenguaje situado en la esquina superior izquierda de la página.

[VJ#]

En la vista Código de Form1.cs, detrás de la llamada a InitializeComponent(), especifique:

crystalReportViewer1.set_ReportSource(new localhost.My_ReportService());

Caso 3: informe de Crystal Enterprise agregado a Windows Form

Suponga que se dan las siguientes condiciones:

  • En el lado del cliente, ha creado un proyecto de Windows, MyProject.

  • Ha insertado Windows Forms Viewer, CrystalReportViewer1, en Windows Form, en MyProject.

  • En el cliente, ha agregado un informe de Crystal Enterprise, MyCEReport.rpt, a Windows Form.

    Nota    La acción de agregar y enlazar servicios Web de informes en proyectos de C++ requiere el uso de código. No hay ejemplos disponibles en C++.

Enlazar por objeto de informe de Crystal Enterprise

Puede enlazar el informe de Crystal Enterprise, MyCEReport.rpt, a Windows Forms Viewer mediante la ventana Propiedades o mediante código en Windows Form:

  • Seleccione Windows Forms Viewer en la vista Diseño de Windows Form. En la ventana Propiedades, para la propiedad ReportSource, seleccione enterpriseReport1[CrystalDecisions.ReportSource.EnterpriseReport] de la lista desplegable.
  • O bien, enlace el objeto de informe de Crystal Enterprise a Windows Forms Viewer especificando la propiedad ReportSource en Windows Form, detrás de la llamada a InitializeComponent():

[Visual Basic]

CrystalReportViewer1.ReportSource = enterpriseReport1

[C#]

crystalReportViewer1.ReportSource = enterpriseReport1;

[C++] No hay ejemplos disponibles en C++. Para ver cómo se hace esto en aplicaciones de C# o VB, haga clic en el botón Filtro de lenguaje situado en la esquina superior izquierda de la página.

[VJ#]

crystalReportViewer1.set_ReportSource( enterpriseReport1);

Caso 4: informe de Server File agregado a Windows Form

Suponga que se dan las siguientes condiciones:

  • En el lado del cliente, ha creado un proyecto de Windows, MyProject.

  • Ha insertado Windows Forms Viewer, CrystalReportViewer1, en Windows Form, en MyProject.

  • En el cliente, ha agregado un informe de Server File, MyServerFileReport.rpt, a Windows Form.

    Nota    La acción de agregar y enlazar servicios Web de informes en proyectos de C++ requiere el uso de código. No hay ejemplos disponibles en C++.

Enlazar por objeto de informe de Server File

Puede enlazar MyServerFileReport.rpt a Windows Forms Viewer mediante la ventana Propiedades o mediante código en Windows Form:

  • Seleccione Windows Forms Viewer en la vista Diseño de Windows Form. En la ventana Propiedades, para la propiedad ReportSource, seleccione serverFileReport1[CrystalDecisions.ReportSource.ServerFileReport] de la lista desplegable.
  • O bien, enlace el objeto de informe de Crystal Enterprise a Windows Forms Viewer especificando la propiedad ReportSource en Windows Form, detrás de la llamada a InitializeComponent():

[Visual Basic]

CrystalReportViewer1.ReportSource = serverFileReport1

[C#]

crystalReportViewer1.ReportSource = serverFileReport1;

[C++] No hay ejemplos disponibles en C++. Para ver cómo se hace esto en aplicaciones de C# o VB, haga clic en el botón Filtro de lenguaje situado en la esquina superior izquierda de la página.

[VJ#]

crystalReportViewer1.set_ReportSource( serverFileReport1);

Vea también

Enlazar informes a un Visor en tiempo de ejecución