在最新发布的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

4. 点击查询文本框右上角的验证数据集图标进行验证。

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 进行查看。

ActiveReports 9 新功能:借助目录(TOC)控件为报表添加目录功能的更多相关文章

  1. C#使用FileSystemWatcher控件实现的文件监控功能示例

    本文实例讲述了C#使用FileSystemWatcher控件实现的文件监控功能.分享给大家供大家参考,具体如下: FileSystemWatcher 可以使用FileSystemWatcher组件监视 ...

  2. Web控件文本框Reset的功能

    在前一篇中<怎样实现Web控件文本框Reset的功能>http://www.cnblogs.com/insus/p/4120889.html Insus.NET只实现了文本框的功能.单个或 ...

  3. Repeater控件使用(含删除,分页功能)

    Repeater控件使用(含删除,分页功能) 摘自:http://www.cnblogs.com/alanliu/archive/2008/02/25/914779.html 前臺代碼 <%@ ...

  4. cocos2dx实现功能强大的RichText控件

    转自:http://blog.csdn.net/ljxfblog/article/details/26136773 最近准备做一个聊天系统,开始准备使用cocos2dx的UIRichText控件来显示 ...

  5. DevExpress.LookUpEdit控件实现自动搜索定位功能 兼使用方法(looUpEdit可编辑)

    DevExpress.LookUpEdit 使用方法 设置可手动输入 this.LookUpEdit1.Properties.TextEditStyle = DevExpress.XtraEditor ...

  6. Android高效率编码-细节,控件,架包,功能,工具,开源汇总,你想要的这里都有

    Android高效率编码-细节,控件,架包,功能,工具,开源汇总 其实写博客的初衷也并不是说什么分享技术,毕竟咱还只是个小程序员,最大的目的就是对自我的知识积累,以后万一编码的时候断片了,也可以翻出来 ...

  7. 详解DevExpress.LookUpEdit控件实现自动搜索定位功能(转)

    转载自csdn博客 爱拼才会赢 的博客 地址是详解DevExpress.LookUpEdit控件实现自动搜索定位功能(转)

  8. 在GridView控件FooterTemplate内添加记录 Ver3

    重构此篇<在GridView控件FooterTemplate内添加记录 Ver2> http://www.cnblogs.com/insus/p/3270644.html 这有些缺陷,怎样 ...

  9. 在GridView控件FooterTemplate内添加记录

    在GridView控件FooterTemplate内添加记录,想实现这个功能,有几点要清楚的,这个添加铵钮是在FooterTemplate内,还是在GridView控件外部,位置不同,某些处理逻辑会有 ...

随机推荐

  1. 使用sphinx生成Python文档

    发现找不到matplotlib.sphinxext.mathmpl: 可以直接easy_install matplotlib,也可以去这里下载安装包 发现exception: matplotlib r ...

  2. C#中操作xml文件(插入节点、修改、删除)

    已知有一个xml文件(bookstore.xml)如下: <?xml version="1.0" encoding="gb2312"?> <b ...

  3. C++ STL轻松导学

    作为C++标准不可缺少的一部分,STL应该是渗透在C++程序的角角落落里的.STL不是实验室里的宠儿,也不是程序员桌上的摆设,她的激动人心并非昙花一现.本教程旨在传播和普及STL的基础知识,若能借此机 ...

  4. 16.3.1-sp_getapplock

    USE TestSystem BEGIN TRANSACTION test1 EXEC [sp_getapplock] 'AppSourceName' , 'Exclusive' WAITFOR DE ...

  5. String.format详解(转)

    一.前言 String.format 作为文本处理工具,为我们提供强大而丰富的字符串格式化功能,为了不止步于简单调用 String.format("Hello %s", " ...

  6. iOS开发中一些常见的并行处理

    本文主要探讨一些常用多任务的最佳实践.包括Core Data的多线程访问,UI的并行绘制,异步网络请求以及一些在运行态内存吃紧的情况下处理大文件的方案等.??其实编写异步处理的程序有很多坑!所以,本文 ...

  7. Gradle 脚本剪片---copy

    Gradle是以Groovy语言为基础,基于DSL语法的自动化构建工具,一个构建脚本能够包含任何Groovy语言元素,每个脚本都是UTF-8编码的文件. 6-1 Project对象API 前面我们说过 ...

  8. VPN各种常见状态码及修复方法

    1.633错误 :由于Windows系统本身的问题,在PPTP协议连接多次并断开之后,后导致一直出现633错误.参见微软的官方解决方案:http://support.microsoft.com/kb/ ...

  9. 实例演示 kino.razor (前端 Javascript 模板工具,Razor 风格)的使用

    前言 对于习惯了 ASP.NET MVC Razor 模板引擎的人来说,比如我,一直在寻找前端 Javascript 端的 Razor 模板工具.这之前,我也了解到很多Javascript 端的模板工 ...

  10. [转]SpringMVC Controller&View数据传递

    Spring MVC3在controller和视图之间传递参数的方法:   一, 从controller往视图传递值, controller---->视图   1)简单类型,如int, Stri ...