我有一個報告,我在iReport專業4.5.1創建,並已部署到JasperServer。我在我的報告參數用來指定排序列:JasperServer輸入控件 - 取消選中可見,獲取錯誤
名稱:profit_loss_sort
參數類:java.lang.String中
用作提示:是
缺省的表達式:「FAC_ID」
然後我還有一個參數,它需要$ P {} profit_loss_sort並用它來通過我的查詢子句創建訂單:
名稱:profit_loss_sort_function
參數類:java.lang.String中
用作提示:沒有
缺省的表達式: 「ORDER BY 」+ $ P {profit_loss_sort} +「 ASC」
當$ P {profit_loss_sort}被設置爲可見,這個工作正常的iReport和的JasperServer。我在每個列標籤上設置了一個超鏈接,當您點擊這些超鏈接時,報告會在每列上進行排序。
當我取消選中$ P {profit_loss_sort}的可見框時,第一次嘗試運行報表時,我得到一個Oracle錯誤,我缺少表達式(ORA-00936:缺少表達式)。我不明白,因爲在我的查詢中的ORDER BY子句是:
$ P {} profit_loss_sort_function
這樣的JasperServer應該採取那些兩個參數的默認值,並拿出一個ORDER BY子句。實際上,當我使用「運行JasperServer報告」選項從iReport運行報告時,它會適當地採取行動並填寫默認的ORDER BY子句。 $ P {profit_loss_sort}是強制性的,在JasperServer方面我沒有選中「總是提示」我的輸入控件。
我不希望$ P {profit_loss_sort}成爲可見的輸入控件,但我仍然希望它在首次運行報表時使用默認值。有什麼想法嗎?