[Crystalreport] 分頁~利用群組欄位

  • 27787
  • 0
  • 2010-07-23

摘要:[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 . 以上請各位多指導 :


==================================================== 
有些事就該把它當作一種回憶...
一種放在記憶中任隨時間慢慢的侵蝕慢慢的隨風漂泊........
 ===================================================
~~~請支持 點部落 格,點點下方的廣告吧~~~