다음을 통해 공유


CrystalReportViewer.OnDrill 메서드

두 번째 컨트롤의 기본 이벤트 처리기로 사용되어 두 CrystalReportViewer 컨트롤 간에 Drill 이벤트를 동기화합니다.

네임스페이스 CrystalDecisions.Web 어셈블리 CrystalDecisions.Web (CrystalDecisions.Web.dll)

구문

Public Overrideable Sub OnDrill ( _
    ByVal source As Object, _   
    ByVal e As CrystalDecisions.Web.DrillEventArgs _    
) 
public virtual void OnDrill (
    object source,
    CrystalDecisions.Web.DrillEventArgs e
)

매개 변수

  • source
    CrystalReportViewer 컨트롤입니다.
  • e
    Drill 이벤트와 관련된 데이터입니다.

설명

CrystalReportViewer(CrystalReportViewer1)에서 Drill 이벤트가 발생하면 OnDrill 메서드가 두 번째 CrystalReportViewer(CrystalReportViewer2)의 기본 이벤트 처리기 역할을 합니다. 이 시나리오는 CrystalReportViewer2OnDrill 메서드 주소를 인수로 사용하는 CrystalReportViewer1에 대한 새 DrillEventHandler를 만드는 경우 발생합니다. 사용자가 CrystalReportViewer1에서 하위 보고서로 드릴다운할 때 CrystalReportViewer2에 있는 하위 보고서는 CrystalReportViewer1에 있는 보고서의 동작을 미러링합니다. CrystalReportViewer2의 이벤트는 발생하지 않으므로 CrystalReportViewer2의 Drill 이벤트 코드는 모두 무시됩니다. 사용자가 CrystalReportViewer2에서 하위 보고서로 드릴다운하면 CrystalReportViewer2에 대한 Drill 이벤트 및 그 이후의 코드가 실행됩니다.

이 메서드를 사용하여 두 보고서 간의 데이터를 비교할 수 있습니다. 예를 들어, 웹 응용 프로그램에서 각각 12월과 1월에 대한 월별 매출 보고서를 표시하는 경우 12월 매출 보고서의 하위 보고서를 드릴다운하면 1월 보고서가 12월 보고서의 동작을 미러링하므로 사용자는 각 보고서의 동작을 복제하지 않아도 두 보고서 간의 매출을 비교할 수 있습니다.

예제

이 예에서는 CrystalReportViewer1을 위한 새 DrillEventHandler를 만드는 방법을 보여 줍니다. 새 핸들러는 OnDrill 메서드를 통해 이벤트를 CrystalReportViewer2에 위임합니다. 이 예에서는 CrystalReportViewer 컨트롤에 대한 보고서 소스를 설정한 다음 이벤트 처리기를 만듭니다.

      Private Sub Page_Load _
         (ByVal sender As System.Object, ByVal e As System.EventArgs) _
         Handles MyBase.Load
      
         Me.CrystalReportViewer1.ReportSource = _ 
            Me.MapPath("DecemberSales.rpt")
         Me.CrystalReportViewer2.ReportSource =  _
            Me.MapPath("JanuarySales.rpt")
         AddHandler CrystalReportViewer1.Drill, _
            AddressOf(CrystalReportViewer2.OnDrill)
      
      End Sub
      private void Page_Load(object sender, System.EventArgs e)
      {
         CrystalReportViewer1.ReportSource = 
            this.MapPath("DecemberSales.rpt");
         CrystalReportViewer2.ReportSource = 
            this.MapPath("JanuarySales.rpt");
         this.CrystalReportViewer1.Drill += new 
            CrystalDecisions.Web.DrillEventHandler
            (CrystalReportViewer2.OnDrill);
      }

버전 정보

Crystal Reports Basic for Visual Studio 2008

Crystal Reports for Visual Studio .NET 2002 에서부터 지원됨

참고 항목

참조

CrystalReportViewer 클래스
CrystalReportViewer 멤버
CrystalDecisions.Web 네임스페이스