我有一个SubReport
,它通过JRBeanCollectionDataSource
获取文件路径列表。此SubReport
具有Title
和Detail
个频段。在此阶段,Detail
频段只有一个Image
。
一切正常但每个Image
都会显示在Detail
个频段的一行中。
对于n个图像,是否可以每行显示两个彼此相邻的图像?这意味着如果有3个图像,例如Detail
频段将有2行;第一个包含2个图像,第二个包含一个图像。
感谢您的支持, 托马斯
答案 0 :(得分:1)
您可以使用包含两个水平填充列的报告来执行此操作。
报告将指定
<jasperReport columnCount="2" printOrder="Horizontal" pageWidth=".." columnWidth=".." columnSpacing=".." ...>
细节带将包含单个图像元素(在列宽限制范围内)。
答案 1 :(得分:0)
也许使用printWhenExpression
。将所有图像放在细节中,并在奇数和偶数细节行上打印不同的图像集:
<detail>
<band height="125" splitType="Stretch">
<image>
<reportElement x="12" y="14" width="172" height="96" uuid="7afa8aa8-0360-466e-94a8-78be647a2de0">
<printWhenExpression><![CDATA[($V{REPORT_COUNT} & 1) == 1]]></printWhenExpression>
</reportElement>
<imageExpression><![CDATA["C:/image1.jpg"]]></imageExpression>
</image>
<image>
<reportElement x="198" y="14" width="172" height="96" uuid="8b3620f2-6001-4bcb-87d8-d479747a99fe">
<printWhenExpression><![CDATA[($V{REPORT_COUNT} & 1) == 1]]></printWhenExpression>
</reportElement>
<imageExpression><![CDATA["C:/image2.jpg"]]></imageExpression>
</image>
<image>
<reportElement x="12" y="14" width="172" height="96" uuid="e5776506-fbab-4c13-8a48-cd3de6c33b3a">
<printWhenExpression><![CDATA[($V{REPORT_COUNT} & 1) == 0]]></printWhenExpression>
</reportElement>
<imageExpression><![CDATA["C:/image3.jpg"]]></imageExpression>
</image>
</band>
</detail>