Compartir a través de


Método CrystalReportViewer.OnRefresh

Sincroniza el evento ReportRefresh entre dos Visores Web de Crystal Report; para ello, actúa como el controlador de eventos predeterminado del segundo visor.

[Visual Basic]

Public Overridable Sub OnRefresh(ByVal source As Object, ByVal e As CrystalDecisions.Web.ViewerEventArgs)

[C#]

public virtual void OnRefresh(System.Object source , CrystalDecisions.Web.ViewerEventArgs e );

[C++]

public virtual void OnRefresh ( System::Object* source , CrystalDecisions::Web::ViewerEventArgs* e );

[VJ#]

public void OnRefresh(System.Object source , CrystalDecisions.Web.ViewerEventArgs e );

Observaciones

Cuando se desencadena el evento ReportRefresh en un CrystalReportViewer (llamémosle, por ejemplo, CrystalReportViewer1) el método OnRefresh actúa como el controlador de eventos predeterminado de otro CrystalReportViewer (CrystalReportViewer2). Esto sucede cuando se crea un nuevo RefreshEventHandler para CrystalReportViewer1 que utiliza la dirección del método OnRefresh de CrystalReportViewer2 como argumento. Cuando el usuario actualiza el informe de CrystalReportViewer1, el informe de CrystalReportViewer2 reflejará las acciones que se lleven a cabo en el informe de CrystalReportViewer1. Los códigos de eventos ReportRefresh de CrystalReportViewer2 se omitirán, puesto que el evento de CrystalReportViewer2 no se ha desencadenado. Si el usuario actualiza el informe de CrystalReportViewer2, se ejecutará el evento ReportRefresh de CrystalReportViewer2 y cualquier otro código siguiente.

Este método se puede utilizar como ayuda a la hora de comparar los datos de dos informes. Por ejemplo, una aplicación Web muestra dos informes de ventas, uno para la región oeste y otro para la este. Cuando se actualiza el informe de ventas de la región oeste, el informe de la región este refleja las acciones que se lleven a cabo en el primero. El usuario puede comparar las cifras de ventas de los dos informes sin necesidad de repetir las acciones con cada uno de ellos.

Ejemplo

Este ejemplo muestra cómo crear el nuevo RefreshEventHandler para CrystalReportViewer1, que delegará el evento en CrystalReportViewer2 mediante el método OnRefresh.

[Visual Basic]

Private Sub Page_Load _
(ByVal sender As System.Object, ByVal e As System.EventArgs) _
Handles MyBase.Load
   ' Establecer el origen del informe para los visores Web.
   Me.CrystalReportViewer1.ReportSource = _ 
   Me.MapPath("WesternSales.rpt")
   Me.CrystalReportViewer2.ReportSource =  _
   e.MapPath("EasternSales.rpt")
   ' Crear el controlador de eventos. El evento ReportRefresh para 
   '  CrystalReportViewer2 se controlará con el 
...'  método OnRefresh cuando se actualice el informe de 
...'  CrystalReportViewer1.
   AddHandler CrystalReportViewer1.ReportRefresh, _
   (AddressOf CrystalReportViewer2.OnRefresh)
End Sub

[C#]

private void Page_Load(object sender, System.EventArgs e)
{
   // Establecer el origen del informe para los visores Web.
   CrystalReportViewer1.ReportSource = 
   this.MapPath("WesternSales.rpt");
   CrystalReportViewer2.ReportSource = 
   this.MapPath("EasternSales.rpt");
   // Crear el controlador de eventos. El evento ReportRefresh para 
   //  CrystalReportViewer2 se controlará con el método OnRefresh 
   //  cuando se actualice el informe de CrystalReportViewer1.
   this.CrystalReportViewer1.ReportRefresh += new 
   CrystalDecisions.Web.RefreshEventHandler
   (CrystalReportViewer2.OnRefresh);
}

[VJ#]

private void Page_Load(System.Object sender, System.EventArgs e)
{
   // Establecer el origen del informe para los visores Web.
   CrystalReportViewer1.set_ReportSource( 
   this.MapPath("WesternSales.rpt"));
   CrystalReportViewer2.set_ReportSource(
   this.MapPath("EasternSales.rpt"));
   // Crear el controlador de eventos. El evento ReportRefresh para 
   //  CrystalReportViewer2 se controlará con el método OnRefresh 
   //  cuando se actualice el informe de CrystalReportViewer1.
   this.CrystalReportViewer1.add_ReportRefresh(new 
   CrystalDecisions.Web.RefreshEventHandler
   (CrystalReportViewer2.OnRefresh));
}

Requisitos

Espacio de nombres: CrystalDecisions.Web

Plataformas: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP

Vea también

Clase CrystalReportViewer | Miembros de CrystalReportViewer | Espacio de nombres CrystalDecisions.Web