互動報表
# 互動報表
FastReport準備的報表可以互動。這意味著,它將對預覽視窗中使用者的操作做出反應。您可以使用以下互動:
- 單擊報表對像時,將執行某種操作。例如,您可以運行詳細報表並在單獨的視窗中顯示。
- 預覽視窗可以顯示報表大綱,可用於在報表上導航。
# 1. 超鏈接
幾乎所有報表對象都具有Hyperlink
屬性。使用此屬性,您可以在預覽視窗中定義對像對滑鼠單擊的反應。
單擊此類對像時,可能會出現以下情況之一:
- 導航到URL地址;
- 發送電子郵件;
- 執行任何型別的系統命令;
- 導航到帶有指定編號的報表頁面;
- 導航到錨點,新增到指令碼中;
- 在單獨的預覽視窗中運行詳細報表;
- 自定義操作,在指令碼中定義。
# 2. 超鏈接配置
要配置超鏈接,請選擇要進行互動的對象,然後右鍵單擊它。在上下文功能表中,選擇超鏈接...
項。超鏈接編輯器視窗將打開:
通過選擇視窗左側的單選按鈕來選擇超鏈接的型別。完成後,您可以單擊視窗底部的修改對象的外觀...
覈取方塊。對象的外觀將以下列方式更改:
- 將為文字設定藍色,並將加下劃線;
- 將設定手形游標表單。
在某些情況下,需要在預覽視窗中顯示超鏈接,但不需要列印它。如果配置Visible
對像屬性,這很容易做到。這可以在對像檢查器視窗中完成。
# 3. 鏈接至URL
使用此類鏈接,您可以:
- 導航至指定的網際網路地址;
- 執行某種系統命令,例如
mailto:
用於發送電子郵件。
您可以使用兩種方法指示鏈接的值:
- 直接表示該值,例如
https://isoface.net
; - 表示一個表達式,它返回鏈接的值。將計算此表達式。
# 4. 鏈接至頁碼
通過使用此鏈接型別,您可以在準備好的報表的頁面上組織導航。通常,使用導航到第一頁。為此,請指示頁碼(在給定的情況下為1)作為鏈接值。 您可以使用兩種方法指示頁碼:
- 直接表示數字,例如1;
- 表示一個表達式,它返回頁碼。運行報表時將計算此表達式。
# 5. 鏈接到錨點
通過使用此類鏈接,您可以導航到在指令碼中新增的錨點。錨在準備好的報表中有一個名稱和一個確定的位置(頁面上的頁碼和位置)。當按名稱移動到錨點時,您將導航到指示的位置。
要使用此鏈接型別,首先需要定義錨點。為此,請使用指令碼和Engine.AddAnchor方法(請參閱指令碼-錨主題中的更多內容)。現在,您可以在超鏈接配置視窗中指明其名稱。這可以通過使用兩種方法來完成:
- 直接指出錨的名稱;
- 表示一個返回錨名稱的表達式。例如,這可以是數據列。運行報表時將計算此表達式。
# 6. 鏈接至明細報表
使用此鏈接型別,您可以執行另一個報表並在單獨的預覽視窗中顯示它。您必須為此型別的超鏈接設定以下參數:
- 明細報表的名稱;
- 報表變數的名稱,它將取超鏈接的值;
- 超鏈接值。
單擊鏈接后,將進行以下操作:
- 指定的報表將被載入;
- 報表的變數將設定為超鏈接的值;
- 報表將在單獨的預覽視窗中構建和運行。
報表變數的值可以使用兩種方法指示:
- 直接表示價值;
- 表示一個返回值的表達式。運行報表時將計算此表達式。
# 7. 鏈接至明細頁面
此鏈接型別的工作方式相同,只是目前報表中的另一個頁面用作詳細報表。為此,您的報表必須至少包含兩個頁面:一個包含主報表,另一個包含詳細報表。
您必須為此型別的超鏈接設定以下參數:
- 該報表中的頁面名稱;
- 報表變數的名稱,它將取超鏈接的值;
- 超鏈接值。
單擊鏈接后,將進行以下操作:
- 報表的變數將設定為超鏈接的值;
- 指定的報表頁面將被構建並顯示在單獨的預覽視窗中。
報表變數的值可以使用兩種方法指示:
- 直接表示值;
- 表示一個返回值的表達式。運行報表時將計算此表達式。
選擇報表頁面時,其Visible
屬性將重置為False
。這意味著,當構建主報表時,將跳過此頁面。
# 8. 自定義鏈接
使用這種型別的鏈接,您可以定義自己對單擊滑鼠的反應。為此,請使用對象的OnClick
事件處理程式。