Чтобы скрыть и удалитьreportElement
по значению используйте printWhenExpression
и isRemoveLineWhenBlank="true"
(на всех TextFields, который должен быть удален)
Пример
<textField pattern="#,##0;-#,##0" isBlankWhenNull="false">
<reportElement positionType="Float" x="453" y="22" width="97" height="16" isRemoveLineWhenBlank="true" uuid="e3279093-5beb-490a-9954-aad866ed208c">
<printWhenExpression><![CDATA[$V{vdisc_1}!=null&&$V{vdisc_1}.equals(0)]]></printWhenExpression>
</reportElement>
<textElement textAlignment="Right" verticalAlignment="Top">
<font size="9"/>
</textElement>
<textFieldExpression><![CDATA[$V{vdisc_1}]]></textFieldExpression>
</textField>
Сделать reportElement
(общая строка) поплавок вверх, используйте positionType="Float"
атрибута
Пример
<staticText>
<reportElement positionType="Float" x="372" y="56" width="80" height="16" uuid="6ba40473-9efb-42e3-8b49-0d2c32ba84bd"/>
<textElement>
<font size="9"/>
</textElement>
<text><![CDATA[Total (Rp)]]></text>
</staticText>
, не выходя из пустого пространства, если TextField всплывает, естественно, больше места под и вы можете не просто набор динамическая высота группа.
Самый простой способ достичь динамической высоты - переместить весь текст (в lastPageFooter) в подчиненный отчет (передайте данные, которые вам нужны, например, через параметры). Включите эту подотчет с минимальной высоты и установите его positionType="FixRelativeToBottom"
Пример
<subreport>
<reportElement positionType="FixRelativeToBottom" x="0" y="87" width="555" height="41" uuid="656195bf-74bc-4aa0-9f0a-9c3a00cc6fb2"/>
<subreportParameter name="vdisc_1">
<subreportParameterExpression><![CDATA[$V{vdisc_1}]]></subreportParameterExpression>
</subreportParameter>
<dataSourceExpression><![CDATA[new net.sf.jasperreports.engine.JREmptyDataSource(1)]]></dataSourceExpression>
<subreportExpression><![CDATA[$P{SUBREPORT_DIR} + "example_subreport.jasper"]]></subreportExpression>
</subreport>
Где ваша проблема? Можете ли вы разместить свой файл jrxml? – sanluck
@Jackie Возможный дубликат [JasperReports/iReport Designer: Могу ли я показать группу условно] (http://stackoverflow.com/q/17524212/876298) & [Как выразить выражение для диапазона данных на основе возвращаемого значения из subreport той же группы] (http://stackoverflow.com/q/35293689/876298). Та же идея –
@ Jackie этот вопрос все еще открыт? у вас все еще есть проблемы? –