CrystalReport父子報表實例

  • 13205
  • 0

摘要:CrystalReport父子報表實例

1.這個例子要的列印結果是:每頁父報表底下皆跟著一筆子報表的資料
2.要達成每頁一筆子報表的資料這個效果,我想到的解決方案是預先在撈出來的子報表資料中給個PageNum的欄位,資料就是將來要印的頁碼
3.很怪異的需求?嗯...我也這麼覺得...但人家就是要這樣Orz
4.首先在父報表中插入一個子報表後,編輯子報表,在子報表新增一個參數欄位"PageNum",因為是跟著頁數,所以數值類型記得要選"數字"

5.在子報表上按滑鼠右鍵選"報表"→"選擇公式"→"資料錄",設定資料錄選擇的公式為"{Table.PageNum} = {?PageNum}"
6.接著回到父報表的畫面,新增一個公式欄位也叫"PageNum",公式則是填入PageNumber
7.在子報表區塊上按滑鼠右鍵選"變更子報表連結",在"可使用的欄位"選擇步驟5新增的公式欄位"PageNum"並用">"加到右邊的"要連結的欄位"
8.在"要使用的子報表參數欄位"選取步驟4中所新增的參數欄位"PageNum"

9.步驟4~5可以直接跳過不做,在步驟8中的"要使用的子報表參數欄位"裡直接選取自動產生的參數欄位,並選取"根據欄位選取子報表中的資料",這樣一來會自動在子報表中新增那個自動產生的參數欄位,並且自動產生對應的資料錄選擇公式
(但是我覺得自動產生的參數欄位名稱太醜了,所以自己弄一個XD)
10.打完收工,弄些假資料利用CrystalReportViewer預覽看結果(預覽時注意子報表顯示範圍,懷疑子報表沒撈到資料時,點進子報表看就是了)

以上的欄位名稱都可以自訂...各位看倌若有好的建議煩請不吝提出^^