Compartir a través de


Método CrystalReportViewer.OnDrill

Sincroniza el evento Drill 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 OnDrill(ByVal source As Object, ByVal e As CrystalDecisions.Web.DrillEventArgs)

[C#]

public virtual void OnDrill(System.Object source , CrystalDecisions.Web.DrillEventArgs e );

[C++]

public virtual void OnDrill ( System::Object* source , CrystalDecisions::Web::DrillEventArgs* e );

[VJ#]

public void OnDrill(System.Object source , CrystalDecisions.Web.DrillEventArgs e );

Observaciones

Cuando se desencadena el evento Drill en un CrystalReportViewer (llamémosle, por ejemplo, CrystalReportViewer1), el método OnDrill actúa como el controlador de eventos predeterminado de otro CrystalReportViewer (CrystalReportViewer2). Esto sucede cuando se crea un nuevo DrillEventHandler para CrystalReportViewer1 que utiliza la dirección del método OnDrill 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 Drill 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 Drill 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 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 DrillEventHandler para CrystalReportViewer1, que delegará el evento en CrystalReportViewer2 mediante el método OnDrill.

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

[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 Drill para 
   //  CrystalReportViewer2 se controlará con el método OnDrill 
   //  cuando se profundice en el informe de CrystalReportViewer1.
   this.CrystalReportViewer1.add_Drill(new 
   CrystalDecisions.Web.DrillEventHandler
   (CrystalReportViewer2.OnDrill));
}

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