在最新发布的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. 【网络编程】——connect函数遇见EINTR的处理

    最近在公司项目中突然报错如下 “connect: Interrupted system call”, 经过查找代码发现是在创建 socket 中执行了 connect 函数失败导致.上网查阅资料发现这 ...

  2. denyhost防止SSH暴力破解

    参考: http://blog.sina.com.cn/s/blog_593af2a70102vjnf.html denyhost 官网: http://denyhosts.sourceforge.n ...

  3. AX2012 R3升级CU8的一些错误

    AX2012 R3安装升级包CU8后进入系统,系统会提示打开软件升级清单“Software update checklist”,清单列出了升级要做的一系列动作. 在进行到编译应用时“Compile a ...

  4. freemarker springmvc配置异常

    异常信息 java.lang.IllegalAccessError: tried to access method freemarker.ext.servlet.AllHttpScopesHashMo ...

  5. sql2008清空日志

    USE[master] GO ALTER DATABASE MeSizeSNS SET RECOVERY SIMPLE WITH NO_WAIT GO ALTER DATABASE MeSizeSNS ...

  6. httpwebrequest 服务器提交了协议冲突. section=responsestatusline

    调用接口的时候,包: httpwebrequest 服务器提交了协议冲突. section=responsestatusline 解决方案: req.KeepAlive = false; req.Al ...

  7. Etl之HiveSql调优(union all)

    相信在Etl的过程中不可避免的实用union all来拼装数据,那么这就涉及到是否并行处理的问题了. 在hive中是否适用并行map,可以通过参数来设定: set hive.exec.parallel ...

  8. Oracle的model语句入门-转

    Model语句是Oracle 10g的新功能之一. 本文通过一些简单的例子帮助理解Model语句的用法,复杂使用场景请参考其他文章. 环境:当然需要Oracle 10g以上,本人是在11g上测试的. ...

  9. Android SDK开发包国内下载地址

    不知道是因为最近kaihui还是怎么的,打开android sdk官方网站特别的慢,想下载最新版本的platform几乎变成不可能完成的任务,不知道为什么Google不像Apache那样在各国设立镜像 ...

  10. ZOJ 2112 Dynamic Rankings(动态区间第 k 大+块状链表)

    题目大意 给定一个数列,编号从 1 到 n,现在有 m 个操作,操作分两类: 1. 修改数列中某个位置的数的值为 val 2. 询问 [L, R] 这个区间中第 k 大的是多少 n<=50,00 ...