摘要:[Crystalreport] 分頁~利用群組欄位
利用公式判斷目前顯示的資料是否已到最後一筆,讓報表自動結束分頁。
設定公式 : if OnLastRecord then false else true
請先參考 (圖一,圖二),參考其內的報表設計階段版面,和範例資料 (請假紀錄表)
或是
[CrystalReport] 利用 參數欄位,篩選要顯示的報表資訊(完成)
[CrystalReports] 利用 群組名稱欄位~分類顯示資料
(圖二)
1 . 需求設定 :
在報表內以利用群組欄位,對資料進行分類和排序的顯示處理,在報表顯示時要在每一頁顯示一種 [ 請假類別 ]。
2 . 群組分頁 :
2-1. 報表版面變更 : 利用 [ 群組欄位 ] 作為顯示在每頁頁首的標題文字,並新增特殊欄位 [第 N 頁 / 第 M 頁]。
(參考圖三,圖四)
(圖三) 在 [ 群組#1名稱 ] 欄位上 右鍵 --> 格式物件 --> 字型 ,字型大小更改為 20 ,並在畫面上對齊 標題列。
特殊欄位 : [第 N 頁 / 第 M 頁]
在報表設計畫面,欄位總管窗格 --> 特殊欄位 --> 第 N 頁 / 第 M 頁 ,將其拉到頁首區塊的右上方。
(圖四) 在 [第 N 頁 / 第 M 頁] 上右鍵 --> 格式物件 --> 一般 ,標籤裡設定 [ 水平對齊 ] 靠右。
3 . 設定分頁 : 點選 [ 群組尾 #1 ] 所在的區塊標題,右鍵 --> 區段專家 --> 將 [ 在之後分頁(F) ] 的選項打勾
(參考圖五)
(圖五)
4 . 執行結果 : (參考圖六,圖七)
(圖六)
(圖七)
5 . 非預期的結果 :
報表產生時,因為在 群組尾 設定分頁其會在最後一頁產生空白資料頁面。
所以必須利用公式判斷目前顯示的資料是否已到最後一筆,讓報表自動結束分頁。(參考圖八)
(圖八) 設定公式 :
if OnLastRecord then false else true
公式說明 : 當 OnLastRecord = True 表示以顯示到最後的資料錄固不繼續分頁
反之設定繼續分頁。
OnLastRecord 函式 在公式編輯畫面 函式窗格裡 --> 列印狀態
OnLastRecord :
回傳目前載入至報表顯示的資料錄是否已經顯示到最後一筆,是回傳 True 否則 False
6 . 以上請各位多指導 :
====================================================
有些事就該把它當作一種回憶...