JASPER iReport - 在详细视图中连续显示2个图像

时间:2016-12-14 04:38:44

标签: jasper-reports

我有一个SubReport,它通过JRBeanCollectionDataSource获取文件路径列表。此SubReport具有TitleDetail个频段。在此阶段,Detail频段只有一个Image

一切正常但每个Image都会显示在Detail个频段的一行中。

enter image description here

对于n个图像,是否可以每行显示两个彼此相邻的图像?这意味着如果有3个图像,例如Detail频段将有2行;第一个包含2个图像,第二个包含一个图像。

enter image description here

感谢您的支持, 托马斯

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>