上篇随笔介绍了在ActievReport中导出报表,本篇随笔简单介绍ActiveReport中的重要事件。
1. 只触发一次的事件:
ReportStart:在报表启动时触发。该事件在DataInitialize 之前,在这里可以整个报表都要用到的对象或变量作初始化,也可以设置子报表。
DataInitialize :这个事件在前面的几篇随笔中经常出现,经常在这里取数据,绑定数据源,设置报表的Fileds属性等。
ReportEnd :在报表加载完成后触发。
2. 多次触发的事件:
FetchData : 在处理每一条数据时都会触发,如果是采用绑定数据源的方式,就不需要再作对Fields中每个Field的Value赋值。如果是从自定义的对象集合中提取数据,就要在这里给Fields赋值。而且,使用自定义集合的时候要自己设置事件的eArgs参数的EOF属性,该属性用来判断是否显示到了最后一条记录,如果是,就设置为true,并且直接返回。具体的代码可以参看以前的随笔。
PageStart :在报表的每页生成的时候触发,在这里作针对每个页的处理,最常见的就是显示页码。
PageEnd :在报表的每也生成完成的时候触发。
3. 区域的事件:
每个区域(PageHeader,Detail ,PageFooter)都有Format,BeforePrint和AfterPrint事件。最好不要在这几个事件中操作报表的Fields集合,而应该在DataInitialize和FetchData中进行。
Format :在数据加载并绑定后触发,只有在这里才可以设置某个区域的高度。
BeforePrint:在区域被生成前触发,在这里如果设置区域的高度是不会有效果的,而且不要在这里操作数据源。
AfterPrint:在区域已经被生成并描画出后发生,可以在该事件里直接在画布上进行描画操作。
ActiveReports 报表控件| 下载试用
ActiveReports 是一款专注于 .NET 平台的报表控件,全面满足 HTML5 / WinForm / ASP.NET / ASP.NET MVC / WPF 等平台下报表设计和开发工作需求,作为专业的报表工具为全球超过 300,000 开发人员提供了全面的报表开发服务。
您对ActiveReports产品的任何技术问题,都有技术支持工程师提供1对1专业解答,点击此处即可发帖提问>>技术支持论坛
葡萄城热门产品
活字格
打通现有软件,快速定制面向未来的个性化应用

SpreadJS
可嵌入您系统的在线Excel的纯前端表格控件

Wyn商业智能
可与企业自有系统深度集成,增强数据分析的 BI 工具
