在最新发布的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. [Core Javascirpt] Basic Metaprogramming: Dynamic Method

    Somehow it looks like reflect in Java. For example: We define an mothod on the Object, it called def ...

  2. [原]OpenGL基础教程(四)VBO+纹理绘制四边形

    工程下载地址:http://pan.baidu.com/s/1ntr7NHv 提取码:yf1h 一.本文牵扯知识点梳理: (1)VBO (2)纹理 (3)libpng(加载png) (4)shader ...

  3. String to Date 多种格式转换

    在做Excel数据导入的时候,有些日期文本转换为日期格式时,需要适应多种格式,转换代码如下: static Date multiParse(String strDate){ if (strDate?. ...

  4. iOS开发之应用内检测手机锁屏,解锁状态

    iPhone的锁屏监测分为两种方式监听: 1. 程序在前台,这种比较简单.直接使用Darwin层的通知就可以了: #import <notify.h> #define Notificati ...

  5. Android之线程回掉更新ui

    一:工作线程中的回掉更新UI public class MainActivity extends AppCompatActivity { private int i; private Callback ...

  6. Unity不同平台生成中预处理的注意点

    http://blog.csdn.net/pandawuwyj/article/details/7959335 Unity3D的项目,这周吃亏在宏上了.大背景是项目需要在Unity中用Hudson自动 ...

  7. .htaccess 语法以及应用

    [转] http://blog.sina.com.cn/s/blog_6e8b46e701014drc.html http://blog.sina.com.cn/s/blog_6e8b46e70101 ...

  8. iBatis.Net(C#)系列Demo源码

    iBatis.Net(C#)系列一:简介及运行环境源码  [下载] iBatis.Net(C#)系列二:SQL数据映射源码 [下载] iBatis.Net(C#)系列三:数据库查询源码  [下载]

  9. 十五、EnterpriseFrameWork框架核心类库之系统启动入口与初始化

    本章内容是讲三种开发模式,web模式.Winform模式和Wcf模式的系统启动入口有什么区别,以及启动后系统初始化的内容:为什么要把这些单独提出来讲一章,因为我觉得本章非常重要,我们都知道程序中的ma ...

  10. 【Android】Kill Service

    花了一天时间对如何Android保证Service不被杀死研究了一下,我的手机是Nexus5,系统4.4.2. 杀死一个Service通常有以下几种可能: 1)APP自己杀死(包括调用stopServ ...