Compartir a través de


Método CrystalReportViewer.OnDrillDownSubreport

Sincroniza el evento DrillDownSubreport 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 OnDrillDownSubreport(ByVal source As Object, ByVal e As CrystalDecisions.Web.DrillSubreportEventArgs)

[C#]

public virtual void OnDrillDownSubreport(System.Object source , CrystalDecisions.Web.DrillSubreportEventArgs e );

[C++]

public virtual void OnDrillDownSubreport ( System::Object* source , CrystalDecisions::Web::DrillSubreportEventArgs* e );

[VJ#]

public void OnDrillDownSubreport(System.Object source , CrystalDecisions.Web.DrillSubreportEventArgs e );

Observaciones

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

[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 DrillOnSubreport para 
   '  CrystalReportViewer2 se controlará con el 
...'  método OnDrillDownSubreport cuando se profundice en el subinforme de 
...'  CrystalReportViewer1.
   AddHandler CrystalReportViewer1.DrillDownSubreport, _
   (AddressOf CrystalReportViewer2.OnDrillDownSubreport)
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 DrillOnSubreport para 
   //  CrystalReportViewer2 se controlará con el método OnDrillDownSubreport 
   //  cuando se profundice en el subinforme de CrystalReportViewer1.
   this.CrystalReportViewer1.Navigate += new 
   CrystalDecisions.Web.DrillSubreportEventHandler
   (CrystalReportViewer2.OnDrillDownSubreport);
}

[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 DrillOnSubreport para 
   //  CrystalReportViewer2 se controlará con el método OnDrillDownSubreport 
   //  cuando se profundice en el subinforme de CrystalReportViewer1.
   this.CrystalReportViewer1. add_DrillDownSubreport(new 
   CrystalDecisions.Web.DrillSubreportEventHandler
   (CrystalReportViewer2.OnDrillDownSubreport);
}

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