2013-10-08 28 views
1

我正在創建JasperReports服務器使用報告iReport。我有一張4列的桌子。用戶需要通過將參數選擇爲第一列。根據他選擇的內容,決定其他列。在參數中使用'if'條件

例如,如果用戶在輸入控件中選擇列2,則列2將變爲最左列,列1將替換列2.

執行此操作的最佳方法是什麼?我可以在參數中使用'if'條件嗎?

+1

您可以發佈您JRXML文件與一個條件? – user1791574

回答

0

用默認值表達式中的if語句添加另一個參數(取消選中用作提示)。 整個sql語句可以在這個參數中,我假設,但只測試了部分sql語句。在報告查詢中,將這個新參數設置爲$ P!{paramname}。 應該工作。

0

解決方案的安排非常少見。無論如何,你可以通過使用帶有變量的表達式來實現。

只要在球場上單擊鼠標右鍵,然後單擊「編輯表達式」

PFirst is a reports parameter 

字段表達式可以像

$Pfirst.equals("fieldOne")?fieldOne:"" + $Pfirst.equals("fieldTwo")?fieldTwo:"" + $Pfirst.equals("fieldThree")?fieldThree:"" 
0

你可以試試這個: -

如果條件對於第一列的文本字段,p_column是具有默認值「col1」的參數

$P{p_column}.equals("col1") ? $F{col1} : $F{col2} 

如果條件第二個文本提交第二列: -

$P{p_column}.equals("col1") ? $F{col2} : $F{col1}