子报告溢出在不支持溢出的波段上

时间:2011-01-11 17:01:01

标签: jasper-reports

我最近遇到了 JasperReports 报告的子报告问题,其中我收到了以下错误:

  

子报告在不支持溢出的波段上溢出。

发生了什么事?

3 个答案:

答案 0 :(得分:34)

我解决了这个问题,所以我想我会在这里发布我的解决方案,万一有人发现它有用。

要检查的事项:

  1. 如果您在详细信息区域内,请检查您的报告的打印订单。它必须是垂直的。水平打印顺序报告不允许在细节带上溢出。
  2. 检查子报表的尺寸。子报表的宽度必须小于报表的宽度,对于非增长的波段(参见下面的第3点),高度必须小于波段的高度。
  3. 有些乐队成长,有些乐队没有。请记住子报表。如果页眉或页脚中有子报表,请确保它们不会增长,这意味着您到该子报表的数据源无法发送太多元素,或者重复发送子报表期望一个或几个元素的元素。
  4. 在我的情况下,我创建了一个子报告并向它传递了一个我实际上没有使用的数据源(它是一个信息子报告,不使用数据源中的任何数据)。

    (示例是XML数据源,但同样的概念适用于SQL数据源。)

    e.g。

    (net.sf.jasperreports.engine.data.JRXmlDataSource)$P{REPORT_DATA_SOURCE}
        ).subDataSource("/Order/Note")
    

    后来,“Note”变成了一个数组而不是一个音符。这意味着我的页脚子报告试图重复两次,因此页脚报告打印两次,使其太高。因此错误。

答案 1 :(得分:3)

我修复了错误。 解决方案是使用: 方向:风景 打印顺序:垂直

使用横向和横向值

时发生错误

答案 2 :(得分:0)

检查子报表宽度是否高于主报表的宽度。如果是这样,请减小子报表宽度。 还要确保将子报表放在有效的带中,如细节。如果您的子报告溢出,当它位于页脚等无效区域内时,您将收到此错误。