Jasper reports 在jasper报告中隐藏字段
我正在使用jasper report-4.5.0。我想根据标志值在jasper中隐藏一个字段。下面是我在columnHeader波段中使用的代码Jasper reports 在jasper报告中隐藏字段,jasper-reports,Jasper Reports,我正在使用jasper report-4.5.0。我想根据标志值在jasper中隐藏一个字段。下面是我在columnHeader波段中使用的代码 <staticText> <reportElement x="365" y="0" width="100" height="20"/> <box> <topPen lineWidth="0.25"/> <leftPen lineWidth="0.25"/> &l
<staticText>
<reportElement x="365" y="0" width="100" height="20"/>
<box>
<topPen lineWidth="0.25"/>
<leftPen lineWidth="0.25"/>
<bottomPen lineWidth="0.25"/>
<rightPen lineWidth="0.25"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font isBold="true"/>
</textElement>
<text><![CDATA[TotalCharge]]></text>
</staticText>
下面是我在乐队中使用的详细代码
<textField>
<reportElement x="365" y="0" width="100" height="20">
<printWhenExpression><![CDATA[!$P{dataType}]]></printWhenExpression>
</reportElement>
<box>
<leftPen lineWidth="0.25"/>
<bottomPen lineWidth="0.25"/>
<rightPen lineWidth="0.25"/>
</box>
<textElement textAlignment="Right" verticalAlignment="Middle">
<font size="8"/>
</textElement>
<textFieldExpression><![CDATA[$F{chargeTotal}]]></textFieldExpression>
</textField>
我将jrxml中的参数声明为
<parameter name="dataType" class="java.lang.Boolean"/>
此参数的值来自java类。如果该值为false,我不想显示此chargeTotal列。我的代码中存在错误。我不明白。任何人都可以指出我的错误所在,这对我来说很紧急。您为textfield提供的代码片段看起来正确,但是,如果要隐藏列标题,还需要为其添加一个
printweenpression
<staticText>
<reportElement x="365" y="0" width="100" height="20">
<printWhenExpression><![CDATA[$P{dataType}]]></printWhenExpression>
</reportElement>
<box>
<topPen lineWidth="0.25"/>
<leftPen lineWidth="0.25"/>
<bottomPen lineWidth="0.25"/>
<rightPen lineWidth="0.25"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font isBold="true"/>
</textElement>
<text><![CDATA[TotalCharge]]></text>
</staticText>
您为textfield提供的代码片段看起来是正确的,但是如果您还想隐藏列标题,您还需要为其添加一个
printWheenexpression
<staticText>
<reportElement x="365" y="0" width="100" height="20">
<printWhenExpression><![CDATA[$P{dataType}]]></printWhenExpression>
</reportElement>
<box>
<topPen lineWidth="0.25"/>
<leftPen lineWidth="0.25"/>
<bottomPen lineWidth="0.25"/>
<rightPen lineWidth="0.25"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font isBold="true"/>
</textElement>
<text><![CDATA[TotalCharge]]></text>
</staticText>