Compartir a través de


Método CrystalReportViewer.OnNavigate

Sincroniza el evento Navigate 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 OnNavigate(ByVal source As Object, ByVal e As CrystalDecisions.Web.NavigateEventArgs)

[C#]

public virtual void OnNavigate(System.Object source , CrystalDecisions.Web.NavigateEventArgs e );

[C++]

public virtual void OnNavigate ( System::Object* source , CrystalDecisions::Web::NavigateEventArgs* e );

[VJ#]

public void OnNavigate(System.Object source , CrystalDecisions.Web.NavigateEventArgs e );

Observaciones

Cuando se desencadena el evento Navigate en un CrystalReportViewer (llamémosle, por ejemplo, CrystalReportViewer1) el método OnNavigate actúa como el controlador de eventos predeterminado de otro CrystalReportViewer (CrystalReportViewer2). Esto sucede cuando se crea un nuevo NavigateEventHandler para CrystalReportViewer1 que utiliza la dirección del método OnNavigate de CrystalReportViewer2 como argumento. Cuando el usuario de desplaza por el informe de CrystalReportViewer1, el informe de CrystalReportViewer2 reflejará la actividad del informe de CrystalReportViewer1. Los códigos de eventos Navigate de CrystalReportViewer2 se omitirán, puesto que el evento de CrystalReportViewer2 no se ha desencadenado. Si el usuario se desplaza por el informe de CrystalReportViewer2, se ejecutará el evento Navigate 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 mensuales, uno correspondiente a diciembre y otro a enero. Al desplazarse por el informe de ventas de diciembre, el informe de enero reflejará las acciones que se hagan en el de diciembre. 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 NavigateEventHandler para CrystalReportViewer1, que delegará el evento en CrystalReportViewer2 mediante el método OnNavigate.

[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("DecemberSales.rpt")
   Me.CrystalReportViewer2.ReportSource =  _
   e.MapPath("JanuarySales.rpt")
   ' Crear el controlador de eventos. El evento Navigate para 
   '  CrystalReportViewer2 se controlará con el 
...'  método OnNavigate cuando se explore en el informe de 
...'  CrystalReportViewer1.
   AddHandler CrystalReportViewer1.Navigate, _
   (AddressOf CrystalReportViewer2.OnNavigate)
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("DecemberSales.rpt");
   CrystalReportViewer2.ReportSource = 
   this.MapPath("JanuarySales.rpt");
   // Crear el controlador de eventos. El evento Navigate para 
   //  CrystalReportViewer2 se controlará con el método OnNavigate 
   //  cuando se explore en el informe de CrystalReportViewer1.
   this.CrystalReportViewer1.Navigate += new 
   CrystalDecisions.Web.NavigateEventHandler
   (CrystalReportViewer2.OnNavigate);
}

[VJ#]

private void Page_Load(Object sender, System.EventArgs e)
{
   // Establecer el origen del informe para los visores Web.
   CrystalReportViewer1.set_ReportSource( 
   this.MapPath("DecemberSales.rpt"));
   CrystalReportViewer2.set_ReportSource( 
   this.MapPath("JanuarySales.rpt"));
   // Crear el controlador de eventos. El evento Navigate para 
   //  CrystalReportViewer2 se controlará con el método OnNavigate 
   //  cuando se explore en el informe de CrystalReportViewer1.
   this.CrystalReportViewer1.add_Navigate(new 
   CrystalDecisions.Web.NavigateEventHandler
   (CrystalReportViewer2.OnNavigate));
}

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