我想在iReport中创建一个报告,这将显示一行Car权重,其中包括预期的权重和实际权重。我期待只展示实际重量和预期重量之间不同的汽车。我还希望在右侧显示一个额外的列,显示它们之间的差异。
E.g。
CAR Expected Weight ActualWeight WeightDIFF
-------------------------------------------
> NUGLN9L 2000kg 2200kg 200kg
> YBOL9GT 1700kg 1700kg 0kg (Shouldn't display this row)
> CL55GBP 1100kg 2200kg 1100kg
jrxml 的部分:
<columnHeader>
<band height="61" splitType="Stretch">
<textField>
<reportElement x="108" y="0" width="100" height="20" uuid="205a44be-528a-4d6b-83e7-85cc0f417fd6"/>
<textFieldExpression><![CDATA[$F{car}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="219" y="0" width="100" height="20" uuid="704e546a-d4f1-4d8d-b5e7-a7ac8154d882"/>
<textFieldExpression><![CDATA[$F{expectedWeight}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="332" y="0" width="100" height="20" uuid="08846a54-7415-4f32-a0ef-41f2770e2278"/>
<textFieldExpression><![CDATA[$F{ActualWeight}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="443" y="0" width="100" height="20" uuid="7ebea114-3303-48c0-b877-f0940c62aa7f"/>
<textFieldExpression><![CDATA[$F{WeightDIFF}]]></textFieldExpression>
</textField>
</band>
</columnHeader>
任何帮助都会很棒
答案 0 :(得分:1)
正如@AlexK所指出的,你可以使用Print when
表达式。
在<band>
行之后,添加以下内容(我假设$ F {WeightDIFF}为Integer
):
<printWhenExpression><![CDATA[$F{WeightDIFF} > 0]]></printWhenExpression>
答案 1 :(得分:1)
如果您使用的是iReport设计器,则可以选择屏幕上的字段,在右侧的属性窗格中,每个字段都有一个Print When Expression属性。您可以创建变量(布尔值最简单)。 E.G
!$F{CarWeight1}.equals($F{CarWeight2})
创建一个变量并将其设置为布尔值。当每个字段上的表达式属性时,将变量放入print中。当格式化时,每个字段为空白时也值得勾选删除行。
希望这有帮助。