2014年5月19日 星期一

JavaWebApp+Struts2+JasperReport 功能實作

功能需求:
  1. 另存新檔產出的報表。
  2. 顯示當前頁數以及總頁數。
  3. 控制每頁顯示筆數。

實作:
  1. 另存新檔產出的報表(以annotation方式為例):
    @Result(name = "genPDF", type="jasper", location = "/views/Report/testReport.jasper",
params={"dataSource","dataList","format","PDF"})
    上述為於web上顯示。
    @Result(name = "genAttachPDF", type="jasper", location = "/Report/testReport.jasper",
params={"dataSource","dataList","format","PDF","contentDisposition","attachment",
                                      "documentName","Report"})
    上述為另存新檔的寫法。兩者差異在,加入了contentDispostion參數設為attachment是另外新
    檔,以及documentName參數將檔案名稱設為Report。

  2. 顯示當前頁數以及總頁數:
    在調色板中有個「Page X of Y」物件,拉進page footer即可。Y代表當前頁數,Y代表總頁 數。

  3. 控制每頁顯示筆數:
    原本想要做到動態顯示,由使用者設定每頁顯示筆數 ,不過目前先做固定筆數。
    以每頁顯示10筆為例。在<Detail>尾端加入page break,在page break的Print When Expression加
    入「($V{REPORT_COUNT}%10)==0」,REPORT_COUNT代表在這張報表中的第幾筆資
    料,當顯示到第10筆時,印出page break來換頁。

沒有留言:

張貼留言