删除行当空白不适用于相对于乐队高度拉伸类型

时间:2017-01-11 02:35:27

标签: jasper-reports

我有一个报告,其中所有元素的位置类型为float,拉伸类型为相对于Band Height,而不是不同的元素。对于一个特殊情况,我希望我的textField完全消失,这取决于表达式时的打印,所以我选中空白时删除行。但问题是,当它消失时,元素上方和下方之间存在小的差距。

这就是我的期望。

enter image description here

这就是我得到的

enter image description here

以下是我的textField

<textField isStretchWithOverflow="true" pattern="" isBlankWhenNull="true">
                <reportElement positionType="Float" stretchType="RelativeToBandHeight" mode="Opaque" x="0" y="617" width="278" height="10" isRemoveLineWhenBlank="true" forecolor="#000000" backcolor="#00FFFF" uuid="b8a09e5a-b3ff-4ddf-b833-3cf854f1108e">
                    <printWhenExpression><![CDATA[($F{SOME_VALUE}!=null)]]></printWhenExpression>
                </reportElement>
                <textElement textAlignment="Justified" verticalAlignment="Middle">
                    <font fontName="Arial" size="4" isBold="true" isItalic="false" pdfFontName="Helvetica-Bold"/>
                    <paragraph leftIndent="1" rightIndent="1"/>
                </textElement>
                <textFieldExpression><![CDATA[$F{SOME_VALUE}]]></textFieldExpression>
</textField>

如果拉伸类型为“无拉伸”,则它按预期工作,并且元素之间没有间隙,但它不适用于“相对带宽”。我该如何解决这个问题?

修改

我尝试将元素保留在框架内,但结果是相同的(就像我说过的,当拉伸类型为无拉伸时,它有效,但相对于带高度存在间隙)。

最后编辑

我必须将中间动态元素保留在它自己的乐队上才能完成这项工作。我的细节乐队非常复杂,还有其他动态元素可能导致乐队空间的增长。

0 个答案:

没有答案