示例 2.創建詳細報告
在本例中,我們將創建一個顯示類別列表的報告。點擊類別名稱后,將顯示詳細報告,其中包含給定類別中的產品列表。
您需要執行以下操作:
- 首先創建詳細報告;
- 定義識別類別的報告參數;
- 根據該參數設置數據過濾;
- 創建主報告;
- 在主報告中配置超鏈接,以便在運行詳細報告時將參數設置為所選類別。
首先,我們將創建一個打印產品列表的詳細報告。為此,創建一個新報告并選擇 "Products "表作為數據源。按以下放置對象:

創建一個參數,用于將所選類別從主報告傳遞到詳細報告。為了識別類別,我們將使用 "CategoryID "表和 "Products"表中都包含的 "CategoryID "列。按以下方式配置參數:

現在,我們需要設置數據過濾,以過濾屬于指定類別的所有產品。為此,請雙擊 "Data"帶。切換到 "Filter "選項卡,并輸入以下條件:

現在創建主報告。創建新報告并選擇 "Categories"表作為數據源。按以下方式放置對象:

右擊 "Text "對象,選擇 "Hyperlink..."菜單項。按以下方式設置鏈接:

選擇詳細報告文件的名稱作為報告名稱。按列表右側的按鈕,可從下拉列表中選擇報告參數。作為參數值,請使用"[Categories.CategoryID]"表達式。
運行報告后,您將看到類別列表:

如果點擊其中一個類別,就會生成一份詳細報告。它將顯示在預覽窗口的一個單獨選項卡上:

如圖所示,標簽頁的標題被設置為超鏈接的值。在我們的例子中,這是 "CategoryID "數據列中的數值。這看起來既不翔實,也不美觀。讓我們更改報告,使用類別名稱而不是其編號。為此,請執行以下操作:
在詳細報告中
- 將參數的 "DataType(數據類型)"屬性更改為 "String(字符串)";
- 在報告中添加 "Categories"數據源。它將用于在篩選數據時引用 "CategoryName "列;
- 更改 "Data "帶的過濾表達式:
在主要報告中[Products.Categories.CategoryName] == [SelectedCategory]
- 更改超鏈接設置。現在,我們將把"[Categories.CategoryName]"值傳入報告參數。

在使用這個示例時,我們創建了兩份報告,并在它們之間交換了好幾次。這樣做很不方便。為了簡化操作,可以將兩份報告合二為一:主要報告放在第一頁,詳細報告放在第二頁。在這種情況下,需要按以下方式設置超鏈接:
在本例中,我們需要選擇 Page2 作為詳細報告頁面。