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

Para que la aplicación Web pueda utilizar un servicio Web de informes, debe enlazar primero el servicio Web de informes a Web Forms Viewer. En la siguiente sección se describen los métodos para enlazar un servicio Web de informes a Web Forms Viewer en distintos casos.

Caso 1: servicio Web de informes

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

  • 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 una aplicación de Visual Basic o de C#

  • En el lado del cliente, se ha creado un proyecto de aplicación Web ASP.NET, MyProject, en el servidor local https://localhost.
  • Ha insertado Web Forms Viewer, CrystalReportViewer1, en Web Form, WebForm1.aspx, en MyProject.

En una aplicación de C++

  • Ha creado un proyecto de C++ administrado, MyProject.
  • Ha agregado Web Forms Viewer, CrystalReportViewer1, a MyProject.cpp en MyProject.

Enlazar por servicio Web de informes

Puede especificar la propiedad ReportSource mediante la vista Código.

[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, se ha creado un proyecto de aplicación Web ASP.NET, MyProject, en el servidor local https://localhost.
  • Ha insertado Web Forms Viewer, CrystalReportViewer1, en Web Form, WebForm1.aspx, 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 Web 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

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

[Visual Basic]

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

[C#]

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#]

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

Caso 3: informe de Crystal Enterprise agregado a Web Form

Suponga que se dan las siguientes condiciones:

Enlazar por objeto de informe de Crystal Enterprise

Puede enlazar el servicio Web de informes de MyCEReport.rpt a Web Forms Viewer especificando la propiedad ReportSource mediante la ventana Propiedades o la vista Código de WebForm1.aspx.

Mediante la ventana Propiedades

  1. Vaya a la ficha Diseño de WebForm1.aspx. Seleccione el Visor de formularios Web.

  2. En la ventana Propiedades, haga clic en el botón cuadrado situado a la derecha de la propiedad DataBindings. De esta forma, se llama al cuadro de diálogo CrystalReportViewer1 DataBindings.

  3. En el cuadro de diálogo CrystalReportViewer1 DataBindings, seleccione ReportSource en el panel izquierdo de Propiedades enlazables.

  4. Haga clic en Enlace simple. Expanda el nodo Página y seleccione enterpriseReport1 en el árbol. Haga clic en Aceptar.

  5. En WebForm1.aspx, detrás de la llamada a InitializeComponent(), agregue la línea siguiente:

    CrystalReportViewer1.DataBind();
    

    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++.

Mediante la vista Código

  1. Agregue la referencia a CrystalDecisions.ReportSource y CrystalDecisions.Shared al proyecto.

  2. Enlace el objeto de informe de Crystal Enterprise a Web Forms Viewer especificando la propiedad ReportSource mediante la vista Código de WebForm1.aspx detrás de la llamada a InitializeComponent():

    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.

    CrystalReportViewer1.set_ReportSource( enterpriseReport1);
    

Caso 4: informe de Server File agregado a Web Form

Suponga que se dan las siguientes condiciones:

Enlazar por objeto de informe de Server File

Puede enlazar el informe de Server File, MyServerFileReport.rpt, a Web Forms Viewer mediante la ventana Propiedades o mediante código en WebForm1.aspx.

Mediante la ventana Propiedades

  1. Vaya a la ficha Diseño de WebForm1.aspx. Seleccione el Visor de formularios Web.

  2. En la ventana Propiedades, haga clic en el botón cuadrado situado a la derecha de la propiedad DataBindings. De esta forma, se llama al cuadro de diálogo CrystalReportViewer1 DataBindings.

  3. En el cuadro de diálogo CrystalReportViewer1 DataBindings, seleccione ReportSource en el panel izquierdo de Propiedades enlazables.

  4. Haga clic en Enlace simple. Expanda el nodo Página y seleccione serverFileReport1 en el árbol. Haga clic en Aceptar.

  5. En el archivo de código fuente de WebForm1.aspx, detrás de la llamada a InitializeComponent(), agregue la línea siguiente:

    CrystalReportViewer1.DataBind()
    [C#]CrystalReportViewer1.DataBind();
    

    [C++] 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++. 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.

    CrystalReportViewer1.DataBind();
    

Mediante la vista Código

  1. Agregue la referencia a CrystalDecisions.ReportSource y CrystalDecisions.Shared al proyecto.

  2. Enlace el objeto de informe de Server File a Web Forms Viewer especificando la propiedad ReportSource mediante la vista Código de WebForm1.aspx, detrás de la llamada a InitializeComponent():

    CrystalReportViewer1.ReportSource = serverFileReport1
    [C#]CrystalReportViewer1.ReportSource = serverFileReport1;
    

    [C++] 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++. 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.

    CrystalReportViewer1.set_ReportSource( serverFileReport1);
    

Vea también

Enlazar informes a visores en tiempo de ejecución