我正在尝试使用条件来打印表格中的值
我有三列A B C
A is string
B is integer
C is integer
我的条件是如果列A =="用户"
然后在B列中打印值或使其为空
($F{A}.equals("USER")?null:$F{B})
这给出了类型转换错误
<jr:column width="15" uuid="733459e9-1ed8-4ce2-a74d-87dc078b1382">
<jr:tableFooter height="29" rowSpan="1"/>
<jr:columnFooter style="table 8_CH" height="30" rowSpan="1"/>
<jr:detailCell style="table 8_TD" height="20" rowSpan="1">
<textField isBlankWhenNull="true">
<reportElement x="0" y="0" width="15" height="20" uuid="bd3860a4-999a-4121-a701-3481a4fdf98e"/>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font size="8"/>
</textElement>
<textFieldExpression><![CDATA[$F{TOP}]]></textFieldExpression>
</textField>
</jr:detailCell>
</jr:column>
<jr:column width="15" uuid="2e7fa82c-7f28-4af6-a63d-ae468afeea32">
<jr:tableFooter height="29" rowSpan="1"/>
<jr:columnFooter style="table 8_CH" height="30" rowSpan="1"/>
<jr:detailCell style="table 8_TD" height="20" rowSpan="1">
<textField isBlankWhenNull="true">
<reportElement x="0" y="0" width="15" height="20" uuid="33707346-9121-4010-8c12-981eb9f4de77">
<printWhenExpression><![CDATA[$F{TOP}.endsWith("NN")?null:$F{COP}]]></printWhenExpression>
</reportElement>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font size="8"/>
</textElement>
<textFieldExpression><![CDATA[$F{COP}]]></textFieldExpression>
</textField>
</jr:detailCell>
</jr:column>
答案 0 :(得分:0)
$F{TOP}.endsWith("NN")?null:$F{COP}
这不应该出现在&#34; Print When Expression&#34;字段,对于这是一个布尔表达式字段:就像在表达式中打印一样,如果这个=那个。例如,如果我从不想看到那个字段,我会在表达式字段时将0==1
放在print中。因此,当表达式字段时,从打印中删除该行。
您想将该行放在字段中。因此,右键单击字段TOP
(我假设这是您想要更改的字段,如果它以NN结尾)并选择编辑表达式并将此行替换为$F{TOP}