Posted on 2010-04-27 13:36
FineReport——報表技術領跑者 閱讀(323)
評論(0) 編輯 收藏 所屬分類:
Java報表制作
上圖報表中的數據來自多張報表,通過簡易的數據過濾設置將其放置在了一張表中顯示。
下面我們來看一下上述報表的實現過程:
1.連接數據庫FRDemo
2.設計報表
2.1新建報表
2.2表樣設計
按照下圖設計好報表的基本框架
2.3新建一數據集
數據集customer
SQL語句:select CustomerID,CustomerName,BankID from customer
數據集carMsg
SQL語句:select CustomerID,Amount from car
數據集houseMsg
SQL語句:select CustomerID,Amount from house
數據集groundMsg
SQL語句:select CustomerID,Amount from ground
數據集otherMsg
SQL語句:select CustomerID,Amount from other
2.4綁定數據列
在B列之前添加一列
按照下列表格將數據集的字段拖入對應單元格內,并作相應的設置。
單元格
|
內容
|
基本屬性設置
|
B6
|
customer.CustomerID
|
從上到下擴展,其余默認
|
C6
|
customer.CustomerName
|
從上到下擴展,居中,其余默認
|
E6
|
carMsg.Amount
|
數據設置:匯總-求和,居中,其余默認
|
F6
|
houseMsg.Amount
|
數據設置:匯總-求和,居中,其余默認
|
G6
|
groundMsg.Amount
|
數據設置:匯總-求和,居中,其余默認
|
H6
|
otherMsg.Amount
|
數據設置:匯總-求和,居中,其余默認
|
2.5設置過濾
通過過濾設置將5張表中的內容聯系起來。
雙擊E6單元格,進入數據列屬性設置對話框,點擊過濾標簽,如圖:
數據列選擇CustomerID,操作符選擇等于,點擊最右邊的箭頭 ,選擇單元格,設置等于B6單元格,即customerID的值,點擊增加,如圖:
對F5,G5,H5做同樣的設置,這樣汽車、房屋、土地、其他四張表中的數據就能放置到同一張表中來了。
2.6設置參數
設置參數,選擇支行。
2.6.1新建一個參數bankID
報表|報表參數,打開報表參數設置對話框,如圖
點擊左上角的添加按鈕 添加一個參數,命名為bankID,顯示名字為支行代碼,參數類型選擇文本,其余默認,如圖
2.6.2參數過濾
雙擊B6單元格,進入數據列屬性設置對話框,點擊過濾標簽,可選列選擇bankID,操作符選擇等于,值選擇參數|$bankID,點擊增加,如圖
2.6.3顯示參數
在D3單元格中填入” =$bankID”
2.7完成報表
將客戶ID隱藏,選中B列,右擊|列寬,設置為0,則預覽時該列就不會顯示出來了。
3.保存預覽