`
maqianli
  • 浏览: 177631 次
  • 性别: Icon_minigender_1
  • 来自: 长春市
社区版块
存档分类
最新评论

JasperReports区域内容大于一页

阅读更多

 有时一个特定的区域内容可能大于一页,我们必须在区域内部结构中找到一个合适的位置来分页。当然这种问题并不设计报表所有的区域类型,我觉得页或者列的头尾区域应该不会大于一页,但是谁知道呢。

 

如果标题区域和summary区域大于一页,你应该将该区域内容设置放到子报表中,并按下面将要介绍的技巧处理该子报表。对于页头或列头也用同样的方法,,但是对于页尾和列尾就不行了,因为引擎用固定高度来处理它们,对于它们的元素则不允许拉伸。

 

经过上面的排除法,剩下的就只有组头组尾和数据区域了。组头和组尾可以相同对待,我们先从数据区域入手。

 

如果我们有一个数据区域包含太多的元素使得我们必须分成多页来显示,我们就需要找到一个合适的方法来分页,但是报表引擎没有提供"分页符"这样的元素,怎么办呢?

 

报表引擎只为<group>元素提供了isStartNewPage属性来明确设定分页位置。也许我们可以用它来解决这些问题?

 

通常,报表引擎在被填充区域无法挤在剩余的页空间里时会创建一个新页或列,这也是我们要在报表设计被编译时确认区域是否可以在页内完全显示原因,以使区域不会再比页更高。没有这样的限制,报表引擎将会很困惑(confused)并发生控制之外的动作。因此,为了解决这个问题,我们首先要找到一个如何通过该区域高度检查的方法。

 

我们可以通过将数据区域的内容分割到多个区域中,使每个区域的高度都小于页高,这样报表设计就合法了。用什么样的区域来分割呢?当然是组头和组尾区域了。我们可以将数据区域的一些元素放置在特定分组的组头区域,另一些元素仍然放置在数据区域,剩下的元素可以放置在组尾区域。这样处理唯一的条件是组头尾区域必须总是伴随着数据区域一起显示,三个区域的行为看起来像一个普通的大数据区域。这是最简单的划分方法,因为我们可以创建一个"无用"分组把数据源中的每条数据分为一组,这样的分组表达式可以像下面这样定义:

 

<groupExpression>$V{REPORT_COUNT}</groupExpression>

如果你有一个巨大的数据区域,一个无用分组没法满足你的要求,你可以加入任意多个你认为需要的无用分组,所有的分组表达式都是一样的"无用"表达式。

        当组头和组尾区域大于一页是的情况!没问题,同样的方法就可以了。你只需要创建一个新的分组,使用和需要分割分组同样的分组表达式,并将原来的组头和组尾元素分割放置到新分组的组头和组尾中,这两个分组会用同样的组边界就像一个分组一样,所以分组元素可以任意放置在两个分组的组头和组尾中。

这样区域高度检查也可以通过了。

1
2
分享到:
评论

相关推荐

    jasperreports分页例子

    JasperReports允许你设置条件,比如当某个区域的内容达到一定高度时自动换页。这可以通过在设计视图中设置相应的属性来完成。 6. **表达式和变量** 在报表中,可以使用表达式和变量来控制分页行为。例如,你可以...

    jasperreports 3.7.5

    jasperreports,jasperreports,jasperreports,jasperreports,jasperreports,jasperreports,jasperreports,jasperreports,jasperreports

    jasperreports-3.5.3.jar

    jasperreports-3.5.3.jar jasperreports-3.5.3.jar jasperreports-3.5.3.jar

    Jasperreports教程

    JasperReports是一款强大的开源报表工具,专为Java开发人员设计,用于创建复杂的报表和数据可视化。它的灵活性和可扩展性使其在企业级应用中广泛应用。本教程将深入探讨JasperReports的核心概念和技术,帮助你熟练...

    jasperreports

    - **表达式语言**:支持Java和JEXL(JasperReports Expression Language)表达式,用于计算和动态生成内容。 5. **数据源处理** JasperReports支持多种数据源,包括SQL查询、Java集合、XML文件、Web服务等。数据...

    jasperreports-fonts.zip

    标题“jasperreports-fonts.zip”暗示这是一份与JasperReports相关的字体资源包,而描述中的“jasperreport支持中文jar包”则指出这个压缩文件包含的是为了使JasperReports能够正确显示中文字符的特殊组件。...

    JasperReports webapp应用

    - **数据源**: JasperReports 支持多种数据源,如数据库连接、CSV文件、XML数据等,可以动态地填充报表内容。 - **报表引擎**: 负责解析.jrxml文件,结合数据源生成最终的报表。 2. **JasperReports与Webapp集成*...

    jasperreports主要jar包

    commons-beanutils-1.7.0.jar;commons-collections-3.2.1.jar;commons-digester-2.1.jar;commons-logging-1.1.1.jar;itext-asian.jar;itextpdf-5.5.8.jar;jasperreports-6.1.1.jar;...jasperreports-javaflow-6.1.1.jar

    jasperreports-6.1.0下载

    jasperreports-6.1.0下载

    jasperreports实例

    例如,在一个Spring MVC应用中,可以创建一个Controller处理报表请求,调用上述编译和渲染的方法,最后将生成的文件作为响应内容返回。 **五、标签关联** 在本实例的标签中,"java report 实例 ireport"揭示了这个...

    jasperreports所有的jar包

    标题中的"jasperreports所有的jar包"指的是JasperReports库的相关组件集合,这是一个用于创建复杂的报表的开源Java库。JasperReports支持多种数据源,包括数据库连接、CSV、XML等,能够生成PDF、HTML、Excel等多种...

    Jasperreports的文件包

    JasperReports 是一个强大的开源报表工具,广泛应用于Java应用程序中,用于生成复杂的报表和文档。它以其灵活性、可扩展性和与多种数据源的兼容性而闻名。在本篇中,我们将深入探讨JasperReports的核心特性、使用...

    jasperreports-4.1.3-lib+src.zip

    标题"jasperreports-4.1.3-lib+src.zip"表明这是一个包含JasperReports 4.1.3版本的库文件和源代码的压缩包。开发者通常会使用这样的资源来理解和自定义JasperReports的行为,以便更好地满足项目需求。 描述中提到...

    JasperReports 3.6 Development Cookbook

    《JasperReports 3.6 Development Cookbook》是一本专注于JasperReports 3.6版本开发实践的书籍,旨在帮助开发者深入理解和应用这个强大的报表工具。JasperReports是Java平台上广泛使用的开源报表库,它允许开发者...

    jasperreports-4.5.0整套的jar包

    `jasperreports-4.5.0` 是 JasperReports 库的一个版本,它是一个强大的开源报表生成框架,专为 Java 开发者设计,用于创建复杂的报表和文档。在这个版本中,用户可以找到一系列与报表设计、编译和展示相关的 `jar` ...

    JasperReports 3.6 Development Cookbook Jul 2010

    《JasperReports 3.6 Development Cookbook》是一本详尽介绍了如何使用JasperReports 3.6创建高质量报告的专业指南。本书由Bilal Siddiqui撰写,于2010年首次出版。书中包含了超过50个实用的食谱(案例),旨在帮助...

    jasperreports-3.7.0的jar包

    JavaFlow允许报表在需要时动态生成部分,而非一次性加载所有内容,这对于处理大数据量和大尺寸报表非常有用,可以有效提高性能和用户体验。 2. **jasperreports-3.7.0.jar**:这是JasperReports的核心库文件,包含...

    java报表jasperreports-0.6.1.rar

    这个"jasperreports-0.6.1.rar"压缩包包含了该工具的一个早期版本,即0.6.1版,它是Java开发者用于生成动态、交互式报表的首选库。下面将详细介绍JasperReports的主要功能、原理及0.6.1版本的特点。 1. **...

    jasperreports-applet-5.1.0.jar

    总结,JasperReports Applet 5.1.0是JasperReports在Web环境下的一种创新尝试,它通过applet技术实现了报表的在线打印,为开发者提供了更灵活的报表展示方案。理解并掌握这个特性,有助于提升Web应用的报表功能,为...

Global site tag (gtag.js) - Google Analytics