- 42
- 0
- 约 9页
- 2018-03-27 发布于北京
- 举报
IReport动态列
交叉报表
一、工具
Ireport 4.5
制作过程
新建一个文件
图2-1
配置数据源
图2-2
3、在Summary中添加一个Crosstab组件(如图)注意Crosstab只能在Summary中添加
图2-3
设置数据源为主表数据,然后下一步
图2-4
设置行显示字段,然后下一步。
图2-5
设置行显示字段
图2-6
其中行列显示字段可以根据自己需求设置Group2或者Group3等。
设置表格主体数据,(这里只能添加一个字段,如需添加更多数据请在交叉列表创建完成之后,在ReportInspector中找到交叉报表的measures,然后右键点击添加)
图2-8
图2-9
设置交叉列表样式
图2-10
对主体交叉报表进行设计(和主表一样)。设计图见图2-11,预览效果见图2-12。
图2-11
图2-12
表中数据设计详见第6点。
交叉报表的排序
在ireport4.5中,交叉报表的排序默认为按首字母排序,如图2-12我们可以看到月份是排序并不是顺序的。
这是我们可以在SQL语句上动些手脚,在查询的结果给它的第一位加上字母ABC…如图2-13
图2-13
这样预览结果就变成了图2-14
图2-14
可以看到其实这也不是我们想要的结果,然后我们可以点击月份进行字段展现控制。如图2-15
图2-15
然后进入Text file Expression设置,如图2-16
图2-16
预览结果如图2-17
图2-17
交叉报表排序(2)
元素(row / column groups)默认是按照ASCII码排序,除此之外它还有一个Comparator exp。(要求是java.util.Comparator的实现类),
步骤1、可以通过实现java.util.Comparator 接口,自己写个比较类:
package com.junefsh.utils;
import java.util.Comparator;
public class JsReportComparator implements ComparatorObject {
public int compare(Object o1, Object o2) {
}
}
其中注意的是compare()方法需要根据自己的需求实现,该方法主要比较的是row/column groups 中的bucket expression 。
步骤2:在我们建的模板中导入新建的类,新添加一个参数,然后在row / column groups 属性Comparator exp.引用我们添加的参数:$P{myOrder}
步骤3:我们要把JsReportComparator 类加载到项目中,以便调试,把该文件打包成jar,在iReport IDE 中 工具-》“选项”-》iReport-classpath 将,jar添加,此后便可调试看效果了
您可能关注的文档
最近下载
- 2026中国建设银行远程智能银行中心客服代表社会招聘200人(广州20人)参考考试题库附答案解析.docx VIP
- 儿童身高管理.pptx VIP
- 2026中国建设银行远程智能银行中心客服代表社会招聘200人(广州20人)参考考试试题附答案解析.docx VIP
- 2026至未来5年中国冲压端子市场数据分析及竞争策略研究报告.docx
- 《电梯触摸屏操控终端技术要求》.docx VIP
- 上海大学继续教育市场营销网课答案更新版.pdf VIP
- 2026中国建设银行远程智能银行中心客服代表社会招聘200人(广州20人)备考考试试题及答案解析.docx VIP
- 2026中国建设银行远程智能银行中心客服代表社会招聘200人(广州20人)考试备考题库附答案解析.docx VIP
- 2021 年全国一级建造师考试执业资格考试法规-白金卷.docx VIP
- 中国燃料电池汽车产业发展白皮书(2025年).docx
原创力文档

文档评论(0)