我有一个报告,其中所有元素的位置类型为float,拉伸类型为相对于Band Height,而不是不同的元素。对于一个特殊情况,我希望我的textField完全消失,这取决于表达式时的打印,所以我选中空白时删除行。但问题是,当它消失时,元素上方和下方之间存在小的差距。
这就是我的期望。
这就是我得到的
以下是我的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>
如果拉伸类型为“无拉伸”,则它按预期工作,并且元素之间没有间隙,但它不适用于“相对带宽”。我该如何解决这个问题?
修改
我尝试将元素保留在框架内,但结果是相同的(就像我说过的,当拉伸类型为无拉伸时,它有效,但相对于带高度存在间隙)。
最后编辑
我必须将中间动态元素保留在它自己的乐队上才能完成这项工作。我的细节乐队非常复杂,还有其他动态元素可能导致乐队空间的增长。