다음을 통해 공유


CrystalReportViewer.OnRefresh 메서드

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

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

구문

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

매개 변수

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

설명

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

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

예제

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

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

버전 정보

Crystal Reports Basic for Visual Studio 2008

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

참고 항목

참조

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