我在 FineReport应用 - 程序网络报表Hello,World 一文中,阐述了编程实现基本报表的方法,在本文中,我将介绍如何创建一个带有数据集的分组数据报表。
设计目标
设计一张报表,按付款方式分组查出订单编号和金额,最终效果如下图:
配置数据连接
要使用数据集,需要先在服务器中配置数据连接。配置文件位于
%FR_HOME%/WebReport/ WEB-INF/resources/datasource.xml
以FRDemo为例,配置如下:
<?xml version="1.0" encoding="UTF-8"?>
<DatasourceManager>
<ConnectionMap>
<Connection name="FRDemo" class="com.fr.data.impl.JDBCDatabaseConnection">
<DatabaseAttr />
<JDBCDatabaseAttr url="jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=D:/FineReport6.5/WebReport/WEB-INF/resources/data/FRDemo.mdb" driver="sun.jdbc.odbc.JdbcOdbcDriver" user="" password="" encryptPassword="true" />
</Connection>
</ConnectionMap>
</DatasourceManager>
添加报表数据集
在前文中,已经介绍过如何建立一个基本的程序报表,这时不再赘述。
建立一个报表
package fr.report;
import com.fr.base.Constants;
import com.fr.base.FRContext;
import com.fr.base.NameStyle;
//...
/**
* 普通分组报表
*
* http://localhost:8080/FineReport/ReportServer?reportlet=fr.report.GroupReportletDemo
*/
public class GroupReportletDemo implements Reportlet {
public Report createReport(ReportletRequest req) {
// 新建报表
WorkSheet workSheet = new WorkSheet();
return workSheet;
<