2017-02-15 46 views
1

使用文本字段值編輯我添加一個文本到文本字段的條件(注意如果使用的JasperSoft工作室的字段編輯器,使代碼IF(...)是構建自動生成,我只給出了值「pippo」和「pluto」)碧玉報告如果條件文本字段值

"Some value" +IF(true,"pippo","pluto") 

但它似乎不起作用。從我的代碼調用報告中我得到這個錯誤:

net.sf.jasperreports.engine.JRException: Errors were encountered when compiling report expressions class file: 
1. The method IF(boolean, String, String) is undefined for the type 

任何幫助將不勝感激

+0

如果(在Java代碼或在的JasperSoft工作室)你收到此錯誤?你的表達是絕對正確的,並且至少應該適用於Groovy語言(爲報表設置) –

+0

在運行時試圖生成報表時出現錯誤,表達式在JasperSoft Studio中創建,報表編譯正常,但執行不正常。 @Alex可能是重複的可能是這個(但我沒能測試解決方案的罈子沒有有效的Maven構件牽扯太多的工作,所以我改變策略,用我給的解決方案的評論報道表達)的http://計算器。 COM /問題/ 28243558 /碧玉串函數法-未定義誤差 – Antimo

+0

重複:[JasperReports的:未找到CONCATENATE功能](http://stackoverflow.com/q/19450214/876298) –

回答

2

使用ternary操盤IF像下面

"Some value" + (value == true ? "pippo" : "pluto") 

希望這將有助於嘗試你出去。

+0

缺少==,無論如何這節省了我的測試時間,這是一個正確的答案 此代碼適用於我: '($ F {fieldInReport} == true?「pippo」:「pluto」)'。 fieldInReport是一個布爾字段(該死的顯然我昨天測試了相同的代碼,它沒有工作:)!)。謝謝! – Antimo