如何使用FastReport VCL中的詳細頁面制作交互式報告
最近FastReport VCL已經(jīng)有很多創(chuàng)新。其中之一是新的超鏈接選項?,F(xiàn)在超鏈接可以指向另一個報告或報告頁面。由于這個選項,我們可以制作交互式報告。文章“如何在FastReport VCL中創(chuàng)建交互式圖表”中展示了一個包含詳細報告超鏈接的報告示例,這次我們將考慮另一種選擇——超鏈接到詳細頁面。
我們開始吧!
用一個客戶列表創(chuàng)建一個簡單的報告。
1)在數(shù)據(jù)選項卡上,添加ADO數(shù)據(jù)庫組件。通過雙擊添加的對象,打開連接編輯器。我們從交付配置到demo.mdb數(shù)據(jù)庫的連接。
數(shù)據(jù)提供程序 - Microsoft Jet OLEDB 4.0提供程序。數(shù)據(jù)庫文件位于文件夾C:\ Program Files(x86)\ FastReport 5 VCL Enterprise \ Demos \ Main \ demo.mdb中。
現(xiàn)在放置ADO查詢組件。在其SQL屬性中輸入查詢:
SELECT * FROM customer a, orders b, items c, parts d WHERE a.custno = b.custno AND b.orderno = c.orderno AND c.partno = d.partno ORDER BY a.company, b.orderno
2)轉(zhuǎn)到第1頁(報告頁面)。除了現(xiàn)有的bands報告標題和MasterData,我們還需要一個GroupHeader。添加它。在這種情況下,您將被要求配置分組。選擇CustNo字段:
從數(shù)據(jù)源中,將以下字段拖到“組標題”區(qū)域:
公司,電話,傳真。
下面我們有MasterData band。雙擊它并選擇一個可用的數(shù)據(jù)源:
我們不會在此band中顯示數(shù)據(jù)。我們僅將它用于分組的數(shù)據(jù)源。我們將band的Visible屬性設(shè)置為false。
下一步是:
3)現(xiàn)在開始創(chuàng)建一個詳細信息頁面,在這里我們將顯示在第一頁上選擇的組的詳細信息。為此,請使用頂部工具欄中的圖標向報告中添加一個頁面。該頁面為空。將下列bands添加進去:GroupHeader、另一個GroupHeader、MasterData、GroupFooter。
對于第一個組頭,請選擇分組字段 - CustNo。
對于第二個 – OrderNo。
對于MasterData band,請選擇一個可用的數(shù)據(jù)源。
我們將在第一個band GroupHeader上放置以下字段:公司、電話和傳真。您可能已經(jīng)注意到,此分組與報告第一頁上的分組相匹配。
現(xiàn)在改變背景顏色并添加標題。
在第二個band “GroupHeader”上,我們放置了字段:OrderNo和SaleDate。
在同一band中,顯示MasterData band中字段的標題:類別、描述、價格、數(shù)量、總數(shù)。
最后,我們將這些字段放在MasterData band上:PartNo、Description、ListPrice、Qty。 對于Total,我們添加下面的表達式:
[< ADOQuery1. "Qty"> * < ADOQuery1. "ListPrice">]
現(xiàn)在MasterData band看起來像這樣:/p>
在GroupFooter band中添加一個文本字段并輸入以下表達式:
Total: [Sum (< ADOQuery1. "Qty"> * < ADOQuery1. "List Price">)]
如你所知,這是所有結(jié)果的總和??傮w結(jié)果是:
4)您需要在報告中創(chuàng)建SelectedValue變量。我們會將所選公司的名稱保存在其中的第一頁上。然后我們將過濾第二頁上的數(shù)據(jù):
5)雙擊MasterData band。在過濾器字段中輸入表達式:
< ADOQuery1. "Company"> = < SelectedValue>
6)讓我們轉(zhuǎn)到第一頁。我們需要MasterData band中的公司字段。選擇它。在屬性檢查器中,找到一個超鏈接并展開它。由于詳細報告在第二頁上,在DetailPage屬性中,我們編寫Page2。在Expression屬性中,我們指定要傳遞給報表變量的表達式。接下來,我們在Kind屬性中設(shè)置超鏈接的類型。hkDetailPage的值。然后,我們在ReportVariable屬性中輸入SelectedValue報告變量的名稱。
現(xiàn)在運行報告:
選擇公司的名稱:
這樣我們得到一份詳細的報告。
現(xiàn)在我們可以得出結(jié)論,并非一定要是報告中的第二頁,您可以使用單獨的報告。但是,如果您不喜歡個人檔案并花費大量時間思考,報告應該是自給自足的,那么帶有詳細頁面的選項就會比較適合您。
產(chǎn)品介紹 | 下載試用 | 優(yōu)惠活動 | 在線客服 | 聯(lián)系Elyn