2016-06-01 246 views
0

我們正在使用iReport,我們有要求只顯示報告中記錄的字段之間的差異。要完成此報告,我需要隱藏兩個字段中具有匹配值的記錄。據我所知,我可以在表達時使用打印,但這僅僅是隱藏字段而不是整個記錄。要做到這一點的過程是什麼?根據字段值隱藏記錄

我有下面的表達式iReports內創建一個布爾值:

$F{Value1}.equals($F{Value2})

我需要使用打印時,如果此布爾是真實的表達標籤不顯示的記錄。

我試着看反向

if(!$F{Value1}.equals($F{Value2}))但iReport的似乎不喜歡這樣。

+0

當表達完美時打印。你可以發佈樣本嗎? –

+0

@AlexK 實施例:「 \t \t \t \t <![CDATA [GrossWeightKgValue]]> \t \t \t \t \t \t \t \t \t \t \t \t \t \t <![CDATA [VGMWeightKgValue]]> \t \t \t \t \t \t ' 如果VGMWeightKGValue = GrossWeightKgValue然後隱藏的記錄。 希望這給你更多的信息。 – Dunny774

+0

@AlexK <![CDATA [$ F {VGMWeightKgValue} .equals($ F {GrossWeightKgValue})]]> Dunny774

回答

1

嘗試添加!像這樣的表達式之前:

!$F{Value1}.equals($F{Value2}) 

這是說:當值1等於值2,我認爲這是你想要的不打印。

你的第二個表達式中帶有「if」不起作用,因爲它不是一個有效的布爾表達式。 if語句是一個控制結構並且沒有返回值。