我有一个包含表格的报告。我想根据支持该表的查询的结果集隐藏该表的列。例如,以下是其中一列的 XML:
<jr:column width="80">
<printWhenExpression>$F{Total1_header} != null</printWhenExpression>
<jr:columnHeader height="30" rowSpan="1">
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement x="0" y="0" width="80" height="30" style="table_CH"/>
<textElement textAlignment="Center" verticalAlignment="Middle"/>
<textFieldExpression>$F{Total1_header}</textFieldExpression>
</textField>
</jr:columnHeader>
<jr:detailCell style="table_TD" height="20" rowSpan="1">
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement x="0" y="0" width="80" height="20"/>
<textElement textAlignment="Center" verticalAlignment="Middle"/>
<textFieldExpression>$F{Total1}</textFieldExpression>
</textField>
</jr:detailCell>
</jr:column>
出于某种原因,我的报告抱怨printWhenExpression。它声称$F{Total1_header}
不存在。但是,它不会抱怨textFieldExpression$F{Total1_header}
中的实例。
我无法弄清楚为什么该字段可用于textFieldExpression,但不能用于printWhenExpression。