示例 2.創(chuàng)建詳細(xì)報(bào)告
在本例中,我們將創(chuàng)建一個(gè)顯示類別列表的報(bào)告。點(diǎn)擊類別名稱后,將顯示詳細(xì)報(bào)告,其中包含給定類別中的產(chǎn)品列表。
您需要執(zhí)行以下操作:
- 首先創(chuàng)建詳細(xì)報(bào)告;
- 定義識(shí)別類別的報(bào)告參數(shù);
- 根據(jù)該參數(shù)設(shè)置數(shù)據(jù)過(guò)濾;
- 創(chuàng)建主報(bào)告;
- 在主報(bào)告中配置超鏈接,以便在運(yùn)行詳細(xì)報(bào)告時(shí)將參數(shù)設(shè)置為所選類別。
首先,我們將創(chuàng)建一個(gè)打印產(chǎn)品列表的詳細(xì)報(bào)告。為此,創(chuàng)建一個(gè)新報(bào)告并選擇 "Products "表作為數(shù)據(jù)源。按以下放置對(duì)象:
創(chuàng)建一個(gè)參數(shù),用于將所選類別從主報(bào)告?zhèn)鬟f到詳細(xì)報(bào)告。為了識(shí)別類別,我們將使用 "CategoryID "表和 "Products"表中都包含的 "CategoryID "列。按以下方式配置參數(shù):
現(xiàn)在,我們需要設(shè)置數(shù)據(jù)過(guò)濾,以過(guò)濾屬于指定類別的所有產(chǎn)品。為此,請(qǐng)雙擊 "Data"帶。切換到 "Filter "選項(xiàng)卡,并輸入以下條件:
現(xiàn)在創(chuàng)建主報(bào)告。創(chuàng)建新報(bào)告并選擇 "Categories"表作為數(shù)據(jù)源。按以下方式放置對(duì)象:
右擊 "Text "對(duì)象,選擇 "Hyperlink..."菜單項(xiàng)。按以下方式設(shè)置鏈接:
選擇詳細(xì)報(bào)告文件的名稱作為報(bào)告名稱。按列表右側(cè)的按鈕,可從下拉列表中選擇報(bào)告參數(shù)。作為參數(shù)值,請(qǐng)使用"[Categories.CategoryID]"表達(dá)式。
運(yùn)行報(bào)告后,您將看到類別列表:
如果點(diǎn)擊其中一個(gè)類別,就會(huì)生成一份詳細(xì)報(bào)告。它將顯示在預(yù)覽窗口的一個(gè)單獨(dú)選項(xiàng)卡上:
如圖所示,標(biāo)簽頁(yè)的標(biāo)題被設(shè)置為超鏈接的值。在我們的例子中,這是 "CategoryID "數(shù)據(jù)列中的數(shù)值。這看起來(lái)既不翔實(shí),也不美觀。讓我們更改報(bào)告,使用類別名稱而不是其編號(hào)。為此,請(qǐng)執(zhí)行以下操作:
在詳細(xì)報(bào)告中
- 將參數(shù)的 "DataType(數(shù)據(jù)類型)"屬性更改為 "String(字符串)";
- 在報(bào)告中添加 "Categories"數(shù)據(jù)源。它將用于在篩選數(shù)據(jù)時(shí)引用 "CategoryName "列;
- 更改 "Data "帶的過(guò)濾表達(dá)式:
在主要報(bào)告中[Products.Categories.CategoryName] == [SelectedCategory]
- 更改超鏈接設(shè)置。現(xiàn)在,我們將把"[Categories.CategoryName]"值傳入報(bào)告參數(shù)。
在使用這個(gè)示例時(shí),我們創(chuàng)建了兩份報(bào)告,并在它們之間交換了好幾次。這樣做很不方便。為了簡(jiǎn)化操作,可以將兩份報(bào)告合二為一:主要報(bào)告放在第一頁(yè),詳細(xì)報(bào)告放在第二頁(yè)。在這種情況下,需要按以下方式設(shè)置超鏈接:
在本例中,我們需要選擇 Page2 作為詳細(xì)報(bào)告頁(yè)面。