通过充当第二个控件的默认事件处理程序,在两个 CrystalReportViewer 控件之间同步 Navigate 事件。
命名空间 CrystalDecisions.Web 程序集 CrystalDecisions.Web (CrystalDecisions.Web.dll)
语法
声明
Public Overrideable Sub OnNavigate ( _
ByVal source As Object, _
ByVal e As CrystalDecisions.Web.NavigateEventArgs _
)
public virtual void OnNavigate (
object source,
CrystalDecisions.Web.NavigateEventArgs e
)
参数
- source
CrystalReportViewer 控件。
- e
与Navigate事件相关的数据。
备注
在 CrystalReportViewer(将其称为 CrystalReportViewer1)中触发 Navigate 事件时,OnNavigate 方法将充当另一个 CrystalReportViewer(将其称为 CrystalReportViewer2)的默认事件处理程序。在为 CrystalReportViewer1 创建使用 CrystalReportViewer2 的 OnNavigate 方法的地址作为参数的新 NavigateEventHandler 时,将发生此情形。 当用户在 CrystalReportViewer1 中的报表中导航时,CrystalReportViewer2 中的报表会镜像 CrystalReportViewer1 中的报表活动。CrystalReportViewer2 中的任何 Navigate 事件代码都将被忽略,因为该事件在 CrystalReportViewer2 中未触发。如果用户在 CrystalReportViewer2 中的报表中导航,则 CrystalReportViewer2 的 Navigate 事件和随后的任何代码都将执行。
该方法可用来帮助比较两个报表的数据。例如,假设有一个 Web 应用程序显示两份月销售报表,一份是 12 月的,另一份是 1 月的。当遍历 12 月的销售报告中的报表时,1 月的报表会镜像在 12 月的报表中进行的操作。用户可以比较两个报表的销售数字,而不必对每个报表进行重复操作。
示例
此示例演示如何为 CrystalReportViewer1 创建新的 NavigateEventHandler,它将通过 OnNavigate 方法将事件委派给 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.Navigate, _
AddressOf(CrystalReportViewer2.OnNavigate)
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.Navigate += new
CrystalDecisions.Web.NavigateEventHandler
(CrystalReportViewer2.OnNavigate);
}
版本信息
Crystal Reports Basic for Visual Studio 2008
从此版本开始支持: Crystal Reports for Visual Studio .NET 2002
另请参见
引用
CrystalReportViewer 类
CrystalReportViewer 成员
CrystalDecisions.Web 命名空间