2012-06-18 33 views
0

最近我在用戶輸入空值到輸入控件("Rolling up" groups in Jaspersoft iReport)時得到了一些幫助。我正在使用iReport/JasperServer Professional 4.5.1。我的三個分組級別是藥房,設施和包裝類型。JasperServer - 輸入控件的空值

在將報告部署到JasperServer之後,我遇到了一些空值問題。我沒有選中「總是提示」我的輸入控件,並且當報表第一次打開時,它的行爲好像它已經爲所有輸入控件和組合適當地收到了空值(這正是我想要的)。我的輸入控件的顯示模式是「在頁面中」,所以它們顯示在屏幕的左側。然後,當我嘗試選擇一家藥房並重新運行報告(期望設施和包裝類型的總值,因爲我沒有爲這些控件選擇任何內容),報告就像彙總代碼不存在一樣執行,並列出所有設施和所有包裝類型。

但是,如果我將一個選定的藥房保存爲保存的輸入控件,然後返回到存儲庫並使用保存的輸入控件運行報告,它工作正常,並聚合所有設施和包裝類型數據。

有什麼想法?

感謝,
麗莎

回答

0

我輸入控件是多選查詢和我的參數集合。我發現,當我通過單擊存儲庫中的鏈接首次進入報告時,報告被髮送空值。但是,當我試圖在JasperServer中打開它時再次運行報表時,我正在生成空列表。

Matthew Dahlman建議我在iReport中創建參數以處理空值並「彙總」我的分組。這些參數如下所示:

$P{packtype}==null ? " 'All Package Types' " : " FAC.PACKTYPE_CODE " 

在iReport中以及首次在JasperServer中打開報表時,它的工作原理非常漂亮。要處理空列表和空值,我必須將我的參數更改爲:

$P{packtype} == null ? " 'All Package Types' " : 
($P{packtype}.isEmpty() ? " 'All Package Types' " : 
" FAC.PACKTYPE_CODE ")