通过充当第二个控件的默认事件处理程序,在两个 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)的默认事件处理程序。在为 CrystalReportViewer1 创建使用 CrystalReportViewer2 的 OnRefresh 方法的地址作为参数的新 RefreshEventHandler 时,将发生此情形。当用户刷新 CrystalReportViewer1 中的报表时,CrystalReportViewer2 中的报表会镜像 CrystalReportViewer1 中的报表活动。CrystalReportViewer2 中的任何 ReportRefresh 事件代码都将被忽略,因为该事件在 CrystalReportViewer2 中未触发。如果用户刷新 CrystalReportViewer2 中的报表,则 CrystalReportViewer2 的 ReportRefresh 事件和随后的任何代码都将执行。
该方法可用来帮助比较两个报表的数据。例如,假设有一个 Web 应用程序显示两份销售报表,一份是西部地区的,另一份是东部地区的。当刷新西部地区的销售报表时,东部地区的报表会镜像在西部地区报表中进行的操作。用户可以比较两个报表的销售数字,而不必对每个报表进行重复操作。
示例
此示例演示如何为 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 命名空间