2 つの CrystalReportViewer
コントロールの間で Drill イベントを同期させるために、2 番目のコントロールのデフォルトのイベント ハンドラとして機能します。
名前空間 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 イベントに関連するデータ
解説
Drill イベントが 1 つ目の CrystalReportViewer
(CrystalReportViewer1
)で発生すると、OnDrill
メソッドは、もう 1 つの CrystalReportViewer
(CrystalReportViewer2
)のデフォルトのイベント ハンドラとして機能します。この動作は、CrystalReportViewer1
で新規に作成する DrillEventHandler
で、CrystalReportViewer2
の OnDrill
メソッドのアドレスを引数として使用することによって実現されます。ユーザーが CrystalReportViewer1
内のサブレポートをドリル ダウンすると、CrystalReportViewer2
内のサブレポートには、CrystalReportViewer1
内のレポートのアクティビティが反映されます。CrystalReportViewer2
ではイベントが発生しないので、CrystalReportViewer2
内の Drill イベント コードは無視されます。ユーザーが CrystalReportViewer2
内のサブレポートをドリル ダウンすると、CrystalReportViewer2
の Drill イベントと後続のコードが実行されます。
この方法は、2 つのレポート間のデータを比較するときに利用できます。たとえば、Web アプリケーションで、2 つの月次売上レポート(12 月のレポートと 1 月のレポート)を表示するとします。12 月の売上レポート内のレポートがドリル ダウンされると、1 月のレポートに 12 月のレポートに対する操作が反映されます。ユーザーは、レポートごとに操作を繰り返さなくても、2 つのレポート間で売上高を比較できます。
例
次の例は、OnDrill
メソッドを介して CrystalReportViewer2
にイベントを依頼する DrillEventHandler
を、CrystalReportViewer1
で新規に作成する方法を示します。この例では 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 名前空間