Metodo CrystalReportViewer.OnDrill

Sincronizza l'evento Drill tra due Crystal Report Web Viewer agendo come gestore eventi predefinito per il secondo visualizzatore.

[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 );

Note

Quando l'evento Drill viene attivato in un CrystalReportViewer (che definiremo CrystalReportViewer1) il metodo OnDrill agisce come gestore eventi predefinito per un altro CrystalReportViewer (che definiremo CrystalReportViewer2). Questo scenario si presenta quando per CrystalReportViewer1 viene creato un nuovo DrillEventHandler che utilizza come argomento l'indirizzo del metodo OnDrill di CrystalReportViewer2. Quando l'utente esegue l'analisi dettagliata sul sottoreport di CrystalReportViewer1, il sottoreport di CrystalReportViewer2 riflette l'attività del primo. L'eventuale codice dell'evento Drill in CrystalReportViewer2 sarà ignorato, poiché l'evento in CrystalReportViewer2 non viene attivato. Se l'utente esegue l'analisi dettagliata sul sottoreport di CrystalReportViewer2, l'evento Drill e l'eventuale codice successivo per questo visualizzatore verranno eseguiti.

È possibile utilizzare questo metodo per coadiuvare la comparazione dei dati tra due report. Ad esempio, in un'applicazione Web sono visualizzati due report delle vendite mensili, uno per dicembre e uno per gennaio. Quando viene eseguita l'analisi dettagliata sul report relativo alle vendite di dicembre, il report di gennaio riflette le azioni del primo. L'utente può così confrontare le cifre delle vendite dei due report senza dover duplicare le azioni eseguite su ciascun report.

Esempio

Nel seguente esempio viene indicato come creare il nuovo DrillEventHandler per CrystalReportViewer1, che delegherà l'evento a CrystalReportViewer2 attraverso il metodo OnDrill.

[Visual Basic]

Private Sub Page_Load _
(ByVal sender As System.Object, ByVal e As System.EventArgs) _
Handles MyBase.Load
   ' Imposta l'origine del report per i visualizzatori Web.
   Me.CrystalReportViewer1.ReportSource = _ 
   Me.MapPath("DecemberSales.rpt")
   Me.CrystalReportViewer2.ReportSource =  _
   e.MapPath("JanuarySales.rpt")
   ' Crea il gestore dell'evento. L'evento Drill per 
   '  CrystalReportViewer2 verrà gestito dal metodo OnDrill 
   '  quando verrà eseguita l'analisi dettagliata sul report di CrystalReportViewer1.
   AddHandler CrystalReportViewer1.Drill, _
   (AddressOf CrystalReportViewer2.OnDrill)
End Sub

[C#]

private void Page_Load(object sender, System.EventArgs e)
{
   // Imposta l'origine del report per i visualizzatori Web.
   CrystalReportViewer1.ReportSource = 
   this.MapPath("DecemberSales.rpt");
   CrystalReportViewer2.ReportSource = 
   this.MapPath("JanuarySales.rpt");
   // Crea il gestore dell'evento. L'evento Drill per 
   //  CrystalReportViewer2 verrà gestito dal metodo OnDrill 
   //  quando verrà eseguita l'analisi dettagliata sul report di CrystalReportViewer1.
   this.CrystalReportViewer1.Drill += new 
   CrystalDecisions.Web.DrillEventHandler
   (CrystalReportViewer2.OnDrill);
}

[VJ#]

private void Page_Load(Object sender, System.EventArgs e)
{
   // Imposta l'origine del report per i visualizzatori Web.
   CrystalReportViewer1.set_ReportSource(
   this.MapPath("DecemberSales.rpt"));
   CrystalReportViewer2.set_ReportSource( 
   this.MapPath("JanuarySales.rpt"));
   // Crea il gestore dell'evento. L'evento Drill per 
   //  CrystalReportViewer2 verrà gestito dal metodo OnDrill 
   //  quando verrà eseguita l'analisi dettagliata sul report di CrystalReportViewer1.
   this.CrystalReportViewer1.add_Drill(new 
   CrystalDecisions.Web.DrillEventHandler
   (CrystalReportViewer2.OnDrill));
}

Requisiti

Spazio dei nomi: CrystalDecisions.Web

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

Vedere anche

Classe CrystalReportViewer | Membri CrystalReportViewer | Spazio dei nomi CrystalDecisions.Web