EJB程序数据源
数据连接不需要直接访问数据库,而是使用EJB做为数据源。FR通过定义程序数据集使用EJB的相关类获取到EJB数据源,然后转为我们里面的二维表作为报表数据源使用,进行展示。例如如下获取到ejb数据所做的模板。
1. 实现原理
FineReport报表的数据来源可以是任何类型的数据,因为FineReport是通过AbstractTableData抽象类来读取数据源的,因此用户只要实现了AbstractTableData抽象类,也就可以用自定义类型的程序数据集,FineReport报表引擎就能够读取定义的数据源作为报表数据源使用。AbstractTableData抽象类主要有5个方法,具体使用可参考简单程序数据集实现原理文档。EJB程序数据源准备数据使用方法init(),获取到ejb的javaBean,从而保存数据到ArrayList中。 2. 实现步骤
2.1 定义程序数据源
定义DataModelDemo这个类代码如下:
在eclipse中导入ejb第三方包如果没有可以向我们技术人员咨询。
2.2 编译程序数据源
将编译后的DataModelDemo.class放到项目的WEB-INF下面的classes目录下,因为DataModelDemo.java属于包com.fr.data,所以DataModelDemo.class需要放到classes\com\fr\data目录下。
2.3 配置程序数据源
新建报表,在报表数据集中新建程序数据源,选择我们定义好的程序数据集,如下图,名字可以自定义,如Pro。
2.4 使用程序数据源
配置好程序数据源后便可以使用定义的Pro程序数据集了,与其他类型的数据集使用方法是相同的,可以通过拖拽方法实现单元格数据列绑定。如下图
保存模板到ejb项目环境下,启动Examples Server服务器,预览模板就可以成功访问到模板了!
返回顶部