用FineReport报表工具制作主子填报表

主子填报表

上图所示为一张主子填报表,分上下两部分,上半部分为订单的主表,下半部分为订单明细,这两部分数据分别来自不同的物理表,用户修改数据后,同时保存到两张物理表中,并保持数据库事务一致性。

下面我们就来看一下用FineReport报表工具实现上述报表的过程

1.连接数据库frDemo

2.设计报表

2.1新建报表

2.2表样设计
按照下图设计好报表的基本框架。

报表表样设计

2.3新建一数据集

新建数据集ds1:
SQL语句:select * from 订单明细

新建数据库ds2:
SQL语句:select * from 订单where 订单ID=10248

2.4绑定数据列

绑定数据列

按照下列表格将数据集的字段拖入对应报表单元格内,并作相应的设置。

单元格 内容 基本属性设置
B3 ds2.订单ID 从上到下扩展,其余默认
D3 ds2.发货日期 从上到下扩展,其余默认
F3 ds2.到货日期 从上到下扩展,其余默认
B4 ds2.客户ID 从上到下扩展,其余默认
F4 ds2.货主名称 从上到下扩展,其余默认
B5 ds2.运货商 从上到下扩展,其余默认
D5 ds2.运货费 从上到下扩展,其余默认
F5 ds2.货主城市 从上到下扩展,其余默认
A8 =&B8  
B8 ds1.产品ID 从上到下扩展,其余默认
C8 ds1.单价 从上到下扩展,其余默认
D8 ds1.折扣 从上到下扩展,其余默认
E8 ds1.数量 从上到下扩展,其余默认
F8 =C8*E8  

2.5单元格设置过滤
双击B8,进入单元格数据列对话框,点击过滤,设置过滤条件为:订单ID等于B3

单元格过滤

2.6单元格的表单属性设置
对B3,D3,F3,B4,F4,B5,D5,F5,A8,B8,C8,D8,E8,F8单元格设置表单属性,其中D3,F3为日期型,C8,D8,E8均为数字型,并且允许小数,其余均为文本类型。设置完后如图:

表单属性设置

2.7设置报表填报属性
打开报表|报表填报属性对话框,如图所示:

填报属性设置

点击左上角的添加按钮,添加一个新的内置SQL

数据库选择frDemo,模式为空,表选择订单,如图所示:

添加内置sql

点击智能添加字段,出现下图所示的对话框,用来将模板中的所要填入的字段和数据表中的字段对应,您可以自由选择所需对应的字段。

智能添加字段

添加完后,单击智能添加单元格,填入对应的单元格。可以选单元格不改变时不参与更新,这样可以加快填报后数据更新速度。添加完后点击确定,显示如下图,可以看到在预览中已经自动生成了相对应的更新数据库的SQL语句。

智能添加单元格

再添加一个内置SQL2,数据库选择frDemo,模式为空,表选择订单明细。以同样的方式智能添加字段à智能添加单元格,设置好后如图

智能添加sql2

3.保存预览

保存为:
%FineReport_HOME%/WebReport/WEB-INF/reportlets/com/doc/form/9.2.cpt

启动报表服务器,点击设计器右上角的填报预览,就可以进行预览填报了。或者在浏览器里直接数据地址:
http://localhost:8075/WebReport/ReportServer?reportlet=com/doc/form/9.2.cpt&op=write

立即发现·数据价值

推荐阅读

→ 怎样用图表分析数据(一)

→ 怎样用图表分析数据(二)

→ BIRT报表深度解析之BIRT中国企业级用户流失之谜

→ 融资?不要!上市?不急!这个帆软有点酷……

→ 谈谈数据决策平台搭建的必要性

→ 典型数据报表的样式和作用

版权所有©2016 南京帆软软件有限公司 | 苏ICP备14031611号-3

返回顶部