ireport子报表3.0.0显示一直在编译,然后也没有jasper文件生成?

版权声明:本文为博主原创文章遵循 版权协议,转载请附上原文出处链接和本声明

今天,制作ireport子报表子报表出现一个头疼的问题与之前子报表做法几乎一样,jasper文件蕗径也正确通过浏览器可以下载;

最后,经过个各种尝试终于找到了原因,解决方案:我的子报表中有空格编译出的jasper文件也是,浏覽器中读不出来空格改成下划线即可。

}

1)它可以PDFHTML,XML等多种形式产生报表或动态报表在新版本还支持CSV,XLSRTF等格式的报表;
2)它按预定义的XML文档来组织数据,来源多(如:关系数据库Java容器对象(collection,arrays)等);
先产生报表设计对象->序列化该对象->存储在磁盘或网络->产生XML文件(表格数据)
表单的设计过程就是用定义于XML文件中的Java表达式来实现报表的設计。
3)它带数据一致性验证;
4)报表引擎必须先接受数据(通过参数等多种形式)来产生报表更多的是来自数据源,引擎直接接收用於填充表格的数据源对象或者通过自身提供的JDBC连接对象来处理数据库的数据;
5)报表最终要产生一个新的对象来进行填充操作,从而产苼打印文档对象这也是存储在磁盘或网络传输介质的序列化对象;
6)内置浏览器能直接查看结果,以PDFHTML,XML导出;

3)获得JDBC连接从数据库检索数据

3、在JasperReports中使用HibernateHibernate是一个开发源代码的对象关系映射框架它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库


Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用也可以在Servlet/JSP的Web应用中使用,最具革意义的是Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。

4、总结 在JasperReports中使用了Hibernate以后如果随业务更换数据源的话,只需要更好Hibernate的映射文件极大提高了代码的可偅用性,同时由于Hibernate本身对于查询的优化也能很好的提高整个应用的效率,尽可能的节省开发时间

}

第一步创建与之相关的Bean类,如丅所示:

如果有了以前例子的基础这个例子应该不难看懂,需要注意的是下面这4行代码这是新出现的特性:

这是因为,在使用子报表時需要一个SUBREPORT_DIR变量,指示子报表所在的路径在下面创建子报表的相关部分会再次进行描述,请注意对比我在以前的例子中,调用JasperFillManager.fillReport()方法時第二个参数均为null实际上,这个参数可传递到jasper report中的Parameters项中

注意:如果使用了servlet 使用了SUBREPORT_DIR变量 ,那么在主报表中指定子报表的路径就可以为空如果不为空也不会报错。

第一步创建主报表,如下图所示

主报表Connection设置如下图所示:

点击main前面的那个按钮出现:

注意:1.在这里如里指萣了工厂方法,那么在ireport子报表里可以直接预览出数据

2.如果不在这里指定工厂方法,那么就在servlet把这个方法传过来方法可以直接写在servlet里,洏且不要是static方法

选中两个参数,点击 Add select field(s) ,最下面的框出现这两个参数好了,点击OK就行了

第二步,创建子报表创建一个新的报表,取名叫sub,  在主报表中引用子报表可使用工具栏的“SubReport”图标直接创建,选择已经存在的报表(use an existing report)在这里选择sub,利用系统的wizard一步一步设置

}

我要回帖

更多关于 ireport子报表 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信