Jasper reports 在jasper报告中隐藏字段

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

我正在使用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"/>
    <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>