【发布时间】:2021-12-13 20:05:26
【问题描述】:
我在 JasperReports 报告中有一个静态文本列表,它们显示在另一个下方
A
B
C
D
E
我需要折叠这些元素,以防其中一些没有打印出来。 (这些静态文本是标签,使用print when表达式对应的值为null时不会打印出来)
示例:如果 B 为空,则输出应如下所示......在 B 所在的位置没有任何空格。 (C,D,E 应该向上浮动)
A
C
D
E
我无法使用 Remove Line When Blank、Position Type as Float 等属性使其工作。没有属性 静态文本为空时为空,文本字段也是如此。这个东西适用于文本字段。
我想出的示例代码。如果这个案例有什么问题,请告诉我:
<detail>
<band height="170" splitType="Stretch">
<staticText>
<reportElement uuid="df801bc0-7c70-42c3-bc34-a8d735a96388" positionType="Float" x="88" y="15" width="100" height="20" isRemoveLineWhenBlank="true"/>
<textElement/>
<text><![CDATA[A]]></text>
</staticText>
<staticText>
<reportElement uuid="bdeb24d3-74b9-4b93-a2ad-451732e500b5" positionType="Float" x="88" y="35" width="100" height="20" isRemoveLineWhenBlank="true"/>
<textElement/>
<text><![CDATA[B]]></text>
</staticText>
<staticText>
<reportElement uuid="e68dc5fd-ed4f-46e0-aa5d-be1edc652aa3" positionType="Float" x="88" y="55" width="100" height="20" isRemoveLineWhenBlank="true"/>
<textElement/>
<text><![CDATA[]]></text>
</staticText>
<staticText>
<reportElement uuid="0b7481b2-33cd-4573-84b2-4a6738ca0ee3" positionType="Float" x="88" y="75" width="100" height="20" isRemoveLineWhenBlank="true"/>
<textElement/>
<text><![CDATA[D]]></text>
</staticText>
<staticText>
<reportElement uuid="2b45cded-10f3-46b5-a87b-5c844e61b247" positionType="Float" x="88" y="95" width="100" height="20" isRemoveLineWhenBlank="true"/>
<textElement/>
<text><![CDATA[E]]></text>
</staticText>
</band>
</detail>
有人解决了这个问题吗?
【问题讨论】:
-
如果你说的是staticText,为什么要添加这个带有Null值的元素?你能发布 jrxml 文件吗?
-
正如我所说,“这些静态文本是标签,如果使用 print when expression 对应的值为 null,则不会打印” - 我有一个“标签:值”形式的元素列表,如果值为 null,则不显示标签
-
你能和我们分享你的 jrxml 吗?这将使诊断问题变得更加容易。
-
抱歉回复晚了。我添加了一个示例测试用例。
标签: jasper-reports