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

ina*_*lus 13 jasper-reports

我最近遇到了一个问题,我的JasperReports报告的子报告中出现了以下错误:

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

怎么了?

ina*_*lus 36

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

要检查的事项:

  1. 如果您在详细信息区域中,请检查报告的打印订单.它必须是垂直的.水平打印订单报告不允许在详细信息带上溢出.
  2. 检查子报表的尺寸.子报表的宽度必须小于报表的宽度,对于非增长的波段(请参见下面的第3点),高度必须小于波段的高度.
  3. 有些乐队成长,有些乐队没有.记住子报告时请记住这一点.如果页眉或页脚中有子报表,请确保它们不会增长,这意味着您到该子报表的数据源不能发送太多元素,或者发送子报表中需要一个或几个元素的重复元素.

在我的情况下,我做了一个子报告并传递了一个我实际上没有使用的数据源(它是一个信息子报告,不使用数据源中的任何数据).

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

例如

(net.sf.jasperreports.engine.data.JRXmlDataSource)$P{REPORT_DATA_SOURCE}
    ).subDataSource("/Order/Note")
Run Code Online (Sandbox Code Playgroud)

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


rev*_*evo 6

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

当我使用 Landscape 和 Horizo​​ntal 值时发生错误