zoukankan      html  css  js  c++  java
  • 使用ActiveReports for .net 进行报表开发(七)事件

    上篇随笔介绍了在ActievReport中导出报表,本篇随笔简单介绍ActiveReport中的重要事件。

     

    1.       只触发一次的事件:

    ReportStart在报表启动时触发。该事件在DataInitialize 之前,在这里可以整个报表都要用到的对象或变量作初始化,也可以设置子报表。

    DataInitialize :这个事件在前面的几篇随笔中经常出现,经常在这里取数据,绑定数据源,设置报表的Fileds属性等。

    ReportEnd 在报表加载完成后触发。

    2.       多次触发的事件:

    FetchData 在处理每一条数据时都会触发,如果是采用绑定数据源的方式,就不需要再作对Fields中每个FieldValue赋值。如果是从自定义的对象集合中提取数据,就要在这里给Fields赋值。而且,使用自定义集合的时候要自己设置事件的eArgs参数的EOF属性,该属性用来判断是否显示到了最后一条记录,如果是,就设置为true,并且直接返回。具体的代码可以参看以前的随笔。

    PageStart 在报表的每页生成的时候触发,在这里作针对每个页的处理,最常见的就是显示页码。

    PageEnd 在报表的每也生成完成的时候触发。

    3.       区域的事件:

    每个区域(PageHeaderDetail PageFooter)都有FormatBeforePrintAfterPrint事件。最好不要在这几个事件中操作报表的Fields集合,而应该在DataInitializeFetchData中进行。

    Format 在数据加载并绑定后触发,只有在这里才可以设置某个区域的高度。

    BeforePrint在区域被生成前触发,在这里如果设置区域的高度是不会有效果的,而且不要在这里操作数据源。

    AfterPrint在区域已经被生成并描画出后发生,可以在该事件里直接在画布上进行描画操作。
  • 相关阅读:
    洛谷 P2590 [ZJOI2008]树的统计
    如何让文件夹隐藏起来,保护自己的隐私
    SharePoint入门——创建一个网站
    SharePoint 解决管理员密码修改后各种问题的来袭
    .NET创建一个即是可执行程序又是Windows服务的程序
    C#——WebApi 接口参数传参详解
    C#中对Web.Config、App.Config字符串加密与解密的方法
    邮件服务器常用地址和端口信息
    Unity3d 5.x搭载VS2013使用
    系统性能优化- Session丢失
  • 原文地址:https://www.cnblogs.com/dahuzizyd/p/ActiveReports_For_net_7.html
Copyright © 2011-2022 走看看