1、BIRT内部探讨,Author:陈明辉,大纲,BIRT (Business Intelligence and Reporting Tools), 是为 Web 应用程序开发的基于 Eclipse 的开源报表系统,特别之处在于它是以 Java 和 J2EE 为基础。BIRT 有两个主要组件:基于 Eclipse 的报表设器,以及部署到应用服务器上的运行时组件。,BIRT简介,BIRT 的优势,BIRT简介,BIRT简介,UI,SERVER,DB,报表引擎,参数,取 数,报表,BIRT实例,一、新建报表设计文件新建数据源,数据集,参数,Table等element,BIRT实例,二、设计报表,BIR
2、T实例,三、对各element编写事件处理代码(java或java Script)(重点)例如:对Date Set添加个Event Handler (java ),与存储过程对接,将存 储过程的返回值添加到Data Set;对row 编写java Script控制其显示方式。,BIRT实例,通用报表元素事件 1) onPrepare:(预备) 此事件在报表生成阶段被执行,并且对每个报表元素只执行一次。在此事件中可以改变元素的设计。这些改变将适用于元素的所有实例。 比如在数据表的详细行的onPrepare事件中添加下述代码将改变所有详细行的背景色。 this.getStyle().backgro
3、undColor = “red“; 2) onCreate:(创建) 此事件在报表生成阶段被执行。此事件只影响单个报表元素实例。 比如在数据表的详细行的onCreate事件中添加下述代码将只改变当前详细行的背景色。 this.getStyle().backgroundColor=“red“; 3) onRender:(展示) 此事件在报表展示阶段被执行。此事件只影响单个报表元素实例。在此事件中不能访问数据集,BIRT实例,特殊报表元素事件 1) 如果选中report,应该可以看到,initialize, beforeFactory, afterFactory, beforeRender, af
4、terRender 2) 如果选中data source,应该可以看到,open, close, beforeOpen, beforeClose, afterOpen, afterClose 3) 如果选中data set,应该可以看到,beforeOpen, beforeClose, onFetch, afterOpen, afterClose 4) 如果选中scripted data set,应该可以看到,open, describe, fetch, close, beforeOpen, beforeClose, onFetch, afterOpen, afterClose 5) 其他元素,BIRT实例,准备阶段,主体处理阶段,清理阶段,BIRT实例,四、编写具体取数逻辑 1.在服务端编写 2.在数据库端编写(存储过程),Thank You !,