彩票走势图

logo FastReport中文文档

报告事件


FastReport .Net是一款全功能的Windows Forms、ASP.NET和MVC报表分析解决方案,使用FastReport .NET可以创建独立于应用程序的.NET报表,同时FastReport .Net支持中文、英语等14种语言,可以让你的产品保证真正的国际性。

FastReport.NET官方版下载

为了最大限度地灵活控制报表,每个报表对象都有多个事件。例如,在与 "Data"带连接的处理程序中,可以过滤记录,即根据特定条件隐藏或显示带。

让我们考虑一下在报表生成过程中触发的事件。以一个简单的报表为例,该报表包含一个页面、一个 "Data "条带和条带上的两个 "Text "对象:

fastreport

在报告开始时,"Report "对象会触发 StartReport 事件。在报告页面形成之前,StartPage 事件会被触发。每个模板页面(不要与准备好的报告页面混淆!)都会触发一次该事件。在我们的例子中,无论准备好的报告有多少页,事件都会被触发一次,因为模板报告只有一页。

然后,开始打印 "Data" 带行。具体过程如下:

  • 触发 BeforePrint 带事件;
  • 打印带中所有对象的 BeforePrint 事件被触发;
  • 所有对象都填入数据;
  • 所有位于带状布局上的对象的 AfterData 事件被触发;
  • 触发 BeforeLayout 频带事件;
  • 将对象放置在带状区域上,计算带状区域的高度并拉伸带状区域(如果可以的话);
  • 触发 AfterLayout band 事件;
  • 如果带状物件无法放置在页面的空闲位置,则会形成一个新页面;
  • 在准备好的报告页面上显示条带及其所有对象;
  • 触发 AfterPrint 频带事件;
  • 触发所有条带对象的 AfterPrint 事件。
  • 只要数据源中有数据,就会打印数据带行。之后,在我们的例子中,报告的形成就结束了。一个页面的 FinishPage 事件被触发,最后--"报表 "对象的 FinishReport 事件被触发。

因此,通过使用不同对象的事件,可以控制报告形成的每一步。正确使用事件的关键在于充分理解上述 11 个步骤中阐述的波段打印过程。

因此,只需使用 "BeforePrint "带,就可以完成很多操作--对对象所做的任何更改都会显示出来。但在这种情况下,无法分析如果条带拉伸,将在哪一页打印,因为条带的高度将在第 6 步计算。

这可以借助第 7 步的 AfterLayout 事件或第 10 步的 AfterPrint 来完成,但在后一种情况下,条带已经打印,对对象的操作不会产生任何结果。

总之,您必须明确说明每个事件在哪个时刻触发,并使用与给定任务相对应的事件。

扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP