文檔金喜正規買球>>FastReport中文文檔>>示例 4.帶目錄、導航和大綱的報告
示例 4.帶目錄、導航和大綱的報告
在本例中,我們將創建一份具有以下功能的報告:
- 在第一頁打印 "Table of Contents"(TOC),它是交互式的,即您可以單擊其中的元素導航到相應的頁面;
- 在預覽窗口中顯示大綱,大綱也是交互式的。

報告將使用"Categories"和 "Products" 表。在 TOC 中,我們將打印類別列表。報告的其余部分將打印產品分類列表。報告模板將由兩頁組成:第一頁用于打印 TOC;第二頁是報告的主要部分。
我們將首先討論 TOC。創建新報告并添加 "Categories"和 "Products" 數據源。將 "Data "帶連接到 "Categories"表,并按以下方式放置對象:

為了使 TOC 對象具有交互性,請配置其 "Hyperlink "屬性:

將類別名稱作為書簽。我們稍后將定義對象的書簽。
要在 TOC 中打印頁碼,需要執行以下操作:
啟用報告的 "double pass "設置。這可以在 "Report|Options..."菜單中完成。需要這樣做是因為 TOC 頁面會在其他頁面之前打印。此時,FastReport 不知道類別將在何處打印;
使用 "Engine.GetBookmarkPage "函數,該函數返回指定書簽的頁碼。在本例中,我們使用"[Categories.CategoryName]"表達式作為書簽名稱,因此函數調用如下:
在報告的第二頁,我們將創建一個主從報告,如下圖所示:[Engine.GetBookmarkPage([Categories.CategoryName])]

設置我們在 TOC 中點擊元素時導航到的書簽。為此,請選擇第一個 "Data "帶,并在其 "Bookmark "屬性中注明以下表達式:
要設置報告大綱,請執行以下操作:[Categories.CategoryName]
- 選擇第一個報告頁面。這可以通過切換到該頁面來完成;
- 在 "Properties "窗口中,為 "OutlineExpression "屬性設置以下值:
"Contents"
- 切換到第二個報告頁面;
- 選擇第一個 "數據 "帶,并設置其 "OutlineExpression "屬性:
選擇第二個 "Data "并設置其 "OutlineExpression "屬性:[Categories.CategoryName]
[Products.ProductName]