jasper-reports - JasperReport - 子报表高度动态
问题描述
我想JasperReport
用JasperSoft Studio 6.5生成一个 pdf 文件。
在我的jrxml
文件中,我有两个级别的子报告。
我对这份报告的布局比较困难。此报告包含(1° 子报告)文件的动态列表(带有描述字段,在某些情况下非常冗长)。
2 ° 子报表是文件列表(由文件名和注释组成)
包含 1° 子报表的行具有基于两个标准的高度动态:
- 描述字段
- 第二个子报表中包含的行数
如果 2° 子报表高于第一个,如果我有页面更改,我就有问题了。因此,如果第一个子报表高于第二个子报表,则第二个子报表不会跟随第一个子报表的高度。
我知道,这不是一个简单的描述问题。希望图片能帮助你理解。
案例1:详细描述:
案例 2:第二个子报表分为几页
在我的 jrxml 文件中,我使用了这个:
<subreport>
<reportElement key="" stretchType="ContainerHeight" isPrintRepeatedValues="false" mode="Opaque" x="310" y="0" width="285" height="35" uuid="1b99fb4b-1bfd-4f88-8ef7-1568c6de04aa">
<printWhenExpression><![CDATA[!$FlistSource}.isEmpty()]]></printWhenExpression>
</reportElement>
<dataSourceExpression><![CDATA[new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($F{listSource})]]></dataSourceExpression>
<subreportExpression><![CDATA[$P{SUBREPORT_DIR}+ "sub_filename.jasper"]]></subreportExpression>
</subreport>
我没有为这份报告找到一个优雅的解决方案,有什么想法吗?
解决方案
您希望两张表的大小相同,即使其中一张是扩展的?
将两个表的拉伸类型设置为“RelativeToTallestObject”可能会起作用。
推荐阅读
- swift - 缓存实现方法
- android - gradle 更新到 3.3.0 alpha13 后,Android 资源编译失败
- vectorization - How are the matrix values calculated in Octave when we divide a scalar with a vector?
- python - 为什么在使用这些“while 循环”时我的窗口没有出现在 python 中?
- animation - Why is it difficult to use Quaternions for the LBS(Linear Blend Skinning) formula?
- django - 如何在 Django 管理界面更改表单中更改用户名验证方式?
- javascript - 如何使用 sinon 覆盖函数作为参数的函数的单元测试
- couchbase - couchbase cbc 无法引导实例
- mysql - mysql错误1064的可能原因是什么?
- asp.net - 在这个 foreach 循环中我的“计数器”怎么没有增加?