ActiveReports 9 新功能:借助目录(TOC)控件为报表添加目录功能

时间:2021-10-02 05:58:19

在最新发布的ActiveReports 9报表控件中添加了多项新功能,以帮助你在更短的时间里创建外观绚丽、功能强大的报表系统,本文将重点介绍新增文档目录控件(TOC),通过拖拽操作便可添加报表目录。

目录控件可以帮助用户快速的导航到位于报表中希望查看的数据。可以使用目录控件内嵌报表主体的内容列表用于打印和导出。不像文档结构图只能在报表浏览器中查看不能导出或者打印。

本示例被分解为下面的步骤

  • Visual Studio项目中添加ActiveReports
  • 连接报表到数据源
  • 添加数据集
  • 创建报表布局
  • 配置目录外观
  • 预览报表

当完成此示例后,会获得和下面相似的设计布局和运行时布局。

ActiveReports 9 新功能:借助目录(TOC)控件为报表添加目录功能

(一)添加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. 在报表资源管理器中,右键点击数据源节点,然后选择添加数据源选项或者在添加按钮下选择数据源

ActiveReports 9 新功能:借助目录(TOC)控件为报表添加目录功能

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

4. 点击查询文本框右上角的验证数据集图标进行验证。ActiveReports 9 新功能:借助目录(TOC)控件为报表添加目录功能

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 新功能:借助目录(TOC)控件为报表添加目录功能

(六)预览报表

在设计时点击预览标签页查看报表得到以下结果

ActiveReports 9 新功能:借助目录(TOC)控件为报表添加目录功能

备注:该报表模板可以在安装ActiveReports 9电脑的 C:\Users\用户名\Documents\ComponentOne Samples\ActiveReports 9\Reports Gallery\C#\Reports\RDL Report\Reels\MovieCatalog.rdlx 路径中找到。

关于文档目录控件的更多功能,可以立即下载 ActiveReports 9 进行体验。

更多ActiveReports 9 新功能介绍文章,请点击 ActiveReports V9 进行查看。