Posted on 2010-04-27 13:36
FineReport——报表技术领跑者 阅读(316)
评论(0) 编辑 收藏 所属分类:
Java报表制作
上图报表中的数据来自多张报表,通过简易的数据过滤设置将其放置在了一张表中显示。
下面我们来看一下上述报表的实现过程:
1.连接数据库FRDemo
2.设计报表
2.1新建报表
2.2表样设计
按照下图设计好报表的基本框架
2.3新建一数据集
数据集customer
SQL语句:select CustomerID,CustomerName,BankID from customer
数据集carMsg
SQL语句:select CustomerID,Amount from car
数据集houseMsg
SQL语句:select CustomerID,Amount from house
数据集groundMsg
SQL语句:select CustomerID,Amount from ground
数据集otherMsg
SQL语句:select CustomerID,Amount from other
2.4绑定数据列
在B列之前添加一列
按照下列表格将数据集的字段拖入对应单元格内,并作相应的设置。
单元格
|
内容
|
基本属性设置
|
B6
|
customer.CustomerID
|
从上到下扩展,其余默认
|
C6
|
customer.CustomerName
|
从上到下扩展,居中,其余默认
|
E6
|
carMsg.Amount
|
数据设置:汇总-求和,居中,其余默认
|
F6
|
houseMsg.Amount
|
数据设置:汇总-求和,居中,其余默认
|
G6
|
groundMsg.Amount
|
数据设置:汇总-求和,居中,其余默认
|
H6
|
otherMsg.Amount
|
数据设置:汇总-求和,居中,其余默认
|
2.5设置过滤
通过过滤设置将5张表中的内容联系起来。
双击E6单元格,进入数据列属性设置对话框,点击过滤标签,如图:
数据列选择CustomerID,操作符选择等于,点击最右边的箭头 ,选择单元格,设置等于B6单元格,即customerID的值,点击增加,如图:
对F5,G5,H5做同样的设置,这样汽车、房屋、土地、其他四张表中的数据就能放置到同一张表中来了。
2.6设置参数
设置参数,选择支行。
2.6.1新建一个参数bankID
报表|报表参数,打开报表参数设置对话框,如图
点击左上角的添加按钮 添加一个参数,命名为bankID,显示名字为支行代码,参数类型选择文本,其余默认,如图
2.6.2参数过滤
双击B6单元格,进入数据列属性设置对话框,点击过滤标签,可选列选择bankID,操作符选择等于,值选择参数|$bankID,点击增加,如图
2.6.3显示参数
在D3单元格中填入” =$bankID”
2.7完成报表
将客户ID隐藏,选中B列,右击|列宽,设置为0,则预览时该列就不会显示出来了。
3.保存预览