Ireport报表插件使用之一——参数使用(Ireport5.6.0版本)

1、新建report1.jrxml文件不在赘述

2、调出组件面板:注意如果没有服务面板可以在窗口-->服务面板,调出来

Ireport报表插件使用之一——参数使用(Ireport5.6.0版本)_第1张图片

3、各种面板上的元素属性不在赘述

4、数据源配置—连接数据库(DB2)

Ireport报表插件使用之一——参数使用(Ireport5.6.0版本)_第2张图片

在这里为什么值描述DB2呢?因为其他的数据库连接都很简单,唯独DB2有坑,上图红框里面的东西,不管irport怎么提示你,直接手动输入红框的内容,但是URL必须改为你自己的数据库连接。DB2驱动类型有4种Type1,Type2,Type3,Type4,其中的区别可以自己百度,有很多说明,这里要说明的是,ireport提示的是:com.ibm.db2.app.DB2Driver,但是我们不用管,只要手工输入com.ibm.db2.jcc.DB2Driver即可。否则会提示无法连接,还有各种莫名其妙的错误。网上说的什么必须安装客户端才能连接如此之类的,无需考虑(注意:仅限ireport)

5、数据源配置—JavaBean

1)在下图进行配置数据源,配置好了点击test测试一下是否成功

Ireport报表插件使用之一——参数使用(Ireport5.6.0版本)_第3张图片

2)根据配置的数据源读取属性与值


Ireport报表插件使用之一——参数使用(Ireport5.6.0版本)_第4张图片

3)把table组件拖到面板后方式text

Ireport报表插件使用之一——参数使用(Ireport5.6.0版本)_第5张图片

说明:Filed是从JavaBean这个KpiMajorProdIndusAllBO导入的,paramer是自己新建的,自己命名,需要与外部Model对应

比如我在我的controller层新建一个返回方法,这里是为了说明在测试或者生成环境如何返回数据,如果我们平时开发代码完全可以使用JavaBean作为数据源忽略此处:代码片段为:

Ireport报表插件使用之一——参数使用(Ireport5.6.0版本)_第6张图片

Model里面属性参数作为外部传递到ireport的,参数就是沟通外部与irport的桥梁;直接对应ireport里面的paramer节点下,自定义的参数

4)为了说明如何使用ireport的参数,需要新建工厂类:KpiMajorProdIndusAllBOFactory

public class KpiMajorProdIndusAllBOFactory {
// 生成实体对象的个数
private static final int RECORD_COUNT = 10;
/**
* 这个方法在iReport的DataResource配置时也会用到 必须是静态方法 static
*
* @return
*/
public static Collection createBeanCollection() {
Collection beanCollection = new ArrayList();

for (int i = 0; i < RECORD_COUNT; i++) {
KpiMajorProdIndusAllBO kpiMajorProdIndusAllBO = new KpiMajorProdIndusAllBO();
beanCollection.add(kpiMajorProdIndusAllBO);
}
return beanCollection;

}

}
5)生成业务BEAN
public class KpiMajorProdIndusAllBO { private String statDate = "999"; private int num; private String indexCode = "999"; private String indexName = "999"; private String ytmDataValue = "999"; private String lyYtmDataValue = "999"; private String yoyYtmDataValue = "999"; private String quoYtmDataValue = "999"; public KpiMajorProdIndusAllBO() { } public String getStatDate() { return statDate; } public void setStatDate(String statDate) { this.statDate = statDate; } public int getNum() { return num; } public void setNum(int num) { this.num = num; } public String getIndexCode() { return indexCode; } public void setIndexCode(String indexCode) { this.indexCode = indexCode; } public String getIndexName() { return indexName; } public void setIndexName(String indexName) { this.indexName = indexName; } public String getYtmDataValue() { return ytmDataValue; } public void setYtmDataValue(String ytmDataValue) { this.ytmDataValue = ytmDataValue; } public String getLyYtmDataValue() { return lyYtmDataValue; } public void setLyYtmDataValue(String lyYtmDataValue) { this.lyYtmDataValue = lyYtmDataValue; } public String getYoyYtmDataValue() { return yoyYtmDataValue; } public void setYoyYtmDataValue(String yoyYtmDataValue) { this.yoyYtmDataValue = yoyYtmDataValue; } public String getQuoYtmDataValue() { return quoYtmDataValue; } public void setQuoYtmDataValue(String quoYtmDataValue) { this.quoYtmDataValue = quoYtmDataValue; } }

你可能感兴趣的:(Ireport报表插件使用之一——参数使用(Ireport5.6.0版本))