在最新發布的ActiveReports 9報表控件中添加了多項新功能,以幫助你在更短的時間里創建外觀絢麗、功能強大的報表系統,本文將重點介紹新增文檔目錄控件(TOC),通過拖拽操作便可添加報表目錄。
目錄控件可以幫助用戶快速的導航到位于報表中希望查看的數據。可以使用目錄控件內嵌報表主體的內容列表用于打印和導出。不像文檔結構圖只能在報表瀏覽器中查看不能導出或者打印。
本示例被分解為下面的步驟
- Visual Studio項目中添加ActiveReports
- 連接報表到數據源
- 添加數據集
- 創建報表布局
- 配置目錄外觀
- 預覽報表
當完成此示例后,會獲得和下面相似的設計布局和運行時布局。
(一)添加ActiveReport到Visual Studio項目
1. 創建一個新Visual Studio Windows窗體應用程序項目。
2. 從項目菜單中選擇添加新項。
3. 在彈出的添加新項對話框中,選擇ActiveReport 9 RDL報表然后在名稱中輸入ReportsWithToc.rdlx。
4. 點擊添加按鈕在設計界面中打開一個新的RDL報表。
(二)報表連接數據源
本示例使用Reels數據庫中Movies數據表。默認情況下,Reels.mdb文件位于我的文檔\ComponentOne Samples\ActiveReports 9\Data文件夾下。
1. 在報表資源管理器中,右鍵點擊數據源節點,然后選擇添加數據源選項或者在添加按鈕下選擇數據源。
2. 在彈出的報表數據源對話框中,選擇常規頁,在名稱中輸入ReportData。
3. 在此頁創建Reels數據庫的連接。
(三)添加數據集
1. 在報表資源管理器中,右鍵點擊數據源節點然后選擇添加數據集選項或者在添加按鈕下選擇數據集。
2. 在彈出的數據集對話框中,選擇常規頁然后輸入數據集名稱MovieCatalog。此名稱會作為數據源的子節點出現在報表資源管理器中。
3. 在數據集對話框的查詢頁中,在查詢框中輸入下面的SQL。
SELECT Genre.GenreName, Movie.Title, Movie.YearReleased, Movie.UserRating, Movie.Country FROM Genre INNER JOIN (Movie INNER JOIN MovieGenres ON Movie.MovieID = MovieGenres.MovieID) ON Genre.GenreID = MovieGenres.GenreID ORDER BY YearReleased ASC
5. 點擊確定關閉對話框。新數據集和查詢出來的字段會作為節點出現在報表資源管理器下。
(四)創建報表布局
1. 從工具箱中,拖拽列表(List)控件到設計界面然后在屬性窗口中設置如下屬性。
屬性名稱
屬性值
DataSetName
MovieCatalog
Location
0.25in, 1.875in
Size
6in, 4in
PageBreakAtStart
True
2. 選中列表控件,在屬性窗口中,點擊屬性對話框鏈接打開列表對話框。
3. 在詳細區域分組頁的分組下面設置表達式為=Fields!GenreName.Value。
4. 點擊確定關閉對話框。
5. 在報表資源管理器的MovieCatalog數據集中,拖拽GenreName字段到列表數據區域控件上,然后在屬性窗口中設置如下屬性。
屬性名稱
屬性值
Location
0.25in, 0.375in
Font
Normal, Arial, 12pt, Bold
TextAlign
Center
Size
5.625in, 0.25in
Label
=Fields!GenreName.Value
注:設置控件的Label屬性用于在文檔結構圖中添加控件對應的條目。
6. 從工具箱中拖拽表格(Table)數據區域控件到列表數據區域控件內然后在屬性窗口設置下面的屬性。
7. 在表格數據區域中,將鼠標置于表格詳細數據行上用于顯示字段選擇裝飾器。
8. 點擊裝飾器顯示MovieCatalog數據集中可用的字段列表和添加下面的字段到表格詳細數據行中。
9. 此操作會在詳細數據行中放置表達式和在相同列的表頭行放置靜態標簽。
10. 使用左側的行邊框選中詳細數據行,然后在屬性窗口設置如下的屬性。
11. 右鍵點擊表格詳細數據行左側邊框然后選擇插入分組…。
12. 在彈出的表格-分組對話框中常規標簽頁分組下設置表達式為=Fields!YearReleased.Value。
13. 點擊確定關閉對話框。
14. 使用CTRL鍵和鼠標右鍵選擇表格分組行中的所有文本框控件,然后右鍵點擊選擇區域然后選擇合并單元格。
15. 選中合并的單元格然后在屬性窗口中設置如下屬性。
屬性名稱
屬性值
Font
Normal, Arial, 10pt, Bold
HeadingLevel
Heading 2
注: 設置控件的HeadingLevel屬性用于在文檔結構圖中添加控件的相應條目。
TextAlign
Center
Value
="Movies Released in " & Fields !YearReleased.Value
16. 從Visual Studio工具箱中,拖拽一個目錄(TableOfContents)控件到設計界面然后在屬性窗口設置如下屬性
屬性名稱
屬性值
Location
0.25in, 0.5in
Size
6in, 0.875in
BorderStyle
Solid
(五)配置目錄外觀
1. 選中目錄(TableOfContents)控件,選擇Levels(集合)屬性然后點擊出現的省略號按鈕。
2. 在彈出的LevelDesigner集合編輯器中,在成員下,使用添加按鈕添加Level2到目錄。
3. 在成員下,選擇Level1和點擊LevelDesigner集合編輯器屬性網格上方的屬性頁按鈕。
4. 在LevelDesigner集合編輯器中選中成員下的Level2實體然后LevelDesigner集合編輯器屬性網格上方的屬性頁按鈕。
5. 在彈出的級別對話框中,設置字體>粗細屬性為Bold。
6. 點擊確定關閉對話框。
7. 在LevelDesigner集合編輯器中選中成員下的Level2,然后在屬性網格中設置Padding屬性為20pt, 10pt, 0pt, 0pt和設置DisplayPageNumber屬性為False。
8. 點擊確定關閉LevelDesigner集合編輯器對話框。
9. 在報表資源管理器中,選中報表節點然后在屬性窗口中設置如下屬性:
屬性名稱
屬性值
DocumentMap > Source
Labels and Headings
DocumentMap > NumberingStyle
1, 2, 3, 4, 5
在完成模板設計之后,我們得到以下結果:
(六)預覽報表
在設計時點擊預覽標簽頁查看報表得到以下結果
備注:該報表模板可以在安裝ActiveReports 9電腦的 C:\Users\用戶名\Documents\ComponentOne Samples\ActiveReports 9\Reports Gallery\C#\Reports\RDL Report\Reels\MovieCatalog.rdlx 路徑中找到。
關于文檔目錄控件的更多功能,可以立即下載 ActiveReports 9 進行體驗。
更多ActiveReports 9 新功能介紹文章,請點擊 ActiveReports V9 進行查看。
文章列表