http://www.cnblogs.com/waxdoll/archive/2006/06/23/434215.html(转)
前一段时间,发了几篇关于RDLC报表的随笔,由于这些随笔中没有关于报表设计方面的内容,于是不少网友和我联系,问了一些关于报表设计方面的问题,最近准备写几篇关于RDLC报表设计的随笔。
这篇随笔主要描述实现钻取报表的步骤。
钻取报表的数据源应该是两个具有主子关系的表,在这篇随笔中以Northwind数据库中的订单和订单明细作为数据源。
1、在Visual Studio 2005中创建一个Windows应用程序RDLCDR。
2、在项目中添加数据源,数据源并不一定用来为报表提供数据(当然Visual Studio 2005提供的操作非常方便),主要是在报表设计时可以方便向报表中进行字段拖曳。添加数据源意味着在项目中添加了一个数据集Orders.xsd文件,当报表的数据不是来源于关系型数据库(如Flat Files或Web Services等)时,我们可以自己定义一个xsd文件作为报表设计时的数据源,而在程序中重新为报表载入数据。
3、在项目中添加报表rptOrder.rdlc,这个报表非常简单,不具体介绍其设计步骤。报表文件中将显示“订单”的内容,其结构如下图1所示:
图1“订单”报表的结构
4、同上,添加报表rptOrderDetails.rdlc,其结构如下图2所示:
图2“订单明细”报表的结构
5、在报表rptOrder.rdlc中,选中表控件的“表详细信息”行的第一列“=Fields!订单ID.Value”单元格,右键“属性”弹出“文本框属性”对话框(如图3所示),在“导航”选项卡的“超链接操作”中,选中“跳至报表”并在下拉列表中选择报表rptOrderDetails,单击下拉列表右边的“参数...”按钮,进行入图4所示的设置。
图3“文本框属性”对话框
图4“跳至报表”参数设置
6、在报表rptOrderDetails中,使用菜单“报表” →“报表参数”进入“报表参数”对话框,并如下图5所示设置参数orderid,这个参数主要用于从rptOrder接收传值。
图5报表参数orderid设置(点击小图看大图)
7、选中报表rptOrderDetail中的表格控件,右键“属性”,进入“表属性”对话框,在“筛选器”选项卡中,设置如下图6所示的筛选器。在构造筛选器时,最好使用“编辑表达式”对话框生成表达式,除非足够熟悉,否则,手写表达式很可能会出现错误,例如表达式前面一定要有“=”。
图6筛选器设置
OK,至此,报表设计需要做的内容就完成了,下面是如何为报表提供数据,并显示在ReportViewer中了。
8、在WinForm窗体上放置ReportViewer控件,并单击控件右上角的三角符号,弹出“ReportViewer 任务”对话框中(图7),选择报表RDLCDR.rptOrder.rdlc。如果前面提到的数据集文件(.xsd文件)是由系统自动生成的话,系统会自动为窗体生成DataAdapter、BindingSource和DataSet,删除之,我们在下面的步骤中手动指定报表的数据源,否则可能会出现报表不报错,但报表内无数据的情况。
图7ReportViewer任务对话框
9、在窗体中使用下图8所示的代码为报表和钻取报表指定数据源,完成最后的操作。需要注意的是下图8中的“数据集名称”必须指定正确,而这个名称可以从下图9所示的对话框中取得。
图8指定数据源的代码(点击小图看大图)
图9“数据集名称”的出处
结果截图如下:
图10“订单”报表
图11“订单明细”钻取报表
Demo下载
另外,在Web应用程序中,也可以使用此方法建立DrillThrough报表,不过代码中的Microsoft.Reporting.WinForms.ReportDataSource要改为Microsoft.Reporting.WebForms.ReportDataSource。
分享到:
相关推荐
微软官方提供,用于依托SSRS设计rdl或者(rdlc)报表的工具。可以脱离Visual Studio提供的Report Designer。
《Report Designer 5.0u 使用说明书》详细解读与应用指南 一、Report Designer 5.0u概览 Report Designer 5.0u是一款专为数据报告设计和创建而开发的强大工具,它旨在帮助用户轻松高效地创建、编辑和管理各种复杂...
它支持多种报表格式,如RDL(Report Definition Language)和RDLC(Local Report Definition Language)。在本案例中,"基于reportviewer的drillthrough源码"指的是如何在ReportViewer组件中实现钻取(Drillthrough...
RDLC前身是RDL,嵌套在sql中的一个ReportBuilder工具。 微软vs以前用水晶报表,慢慢开始推广自己的RDL、RDLC格式。 微软做了两种设计器:嵌入for visual studio的、独立于程序运行的。 另外还有一个第三方的设计器...
Report 项目需要创建一个项目文件,其中包含 .SLN、.SUO、RDL 等文件,而 Report Builder 2.0 只需要创建一个 RDL 文件。 Report Builder 的报表设计工具 Report Builder 2.0 是一个类似 Office 的简单易用的报表...
subReport.FileName = "PathToYourSubReport.rdl"; // 替换为实际的子报表文件路径 // 设置子报表数据源 subReport.DataSource = someDataSource; // 这里的someDataSource应替换为实际的数据源 subReport.Data...
在Demo中,可能有保存的报表设计文件(.rdl或.gdl),这些文件可以直接在Visual Studio或其他支持ActiveReport的IDE中打开编辑。 3. **数据源连接**:示例可能涵盖了连接不同类型的数据源,例如SQL Server、Oracle...
结合RDL(Report Definition Language)报表系统,我们可以创建强大的自定义报表解决方案。 RDL是微软SQL Server Reporting Services (SSRS) 使用的一种XML格式,用于定义和描述报表的结构、样式和数据源。它允许...
同时,为了确保用户能够在应用程序内方便地保存和加载报表设计,源码可能还包含了对ActiveReport报表文件(.rdl或.rdx)的读写操作。 ARDesigner作为压缩包中的文件,很可能是这个报表设计器的主程序或核心组件。...
这些报表可以基于RDL(Report Definition Language)或RDLC(Report Definition for Local Reports)格式,两者都是XML格式,用于定义报表的结构、样式和数据源。 **RDL与RDLC的区别** RDL文件是SQL Server ...
报告定义语言(Report Definition Language,简称RDL)是一种XML格式,用于定义和设计报表的结构、样式和数据源。RDL被广泛应用于SQL Server Reporting Services(SSRS)和其他类似的报表生成工具中,允许开发人员...
1. 类型注解:RDL允许在方法签名前添加类型注解,指定参数和返回值的类型。例如,`def add(a: Integer, b: Integer) -> Integer`声明了`add`方法接受两个整数参数并返回一个整数。这有助于防止类型不匹配的错误。 2...
RDL WIN2008R2 SP1漏洞解决补丁包 先安装kb5039339,后安装kb5040498,打完了部分电脑会出现引导区错误,需要工具重新修复一下。或者先把引导区需要的数字签名先禁用。
##### 实验1:创建基本表报表 1. **创建报表服务器项目** - 打开**Business Intelligence Development Studio**。 - 创建一个新的**报表服务器项目**。 - 在解决方案资源管理器中,添加新的报表定义文件。 - ...
**SQL SERVER Report Builder 3.0** SQL Server Report Builder 3.0 是一款强大的报表设计工具,由微软公司开发,用于构建自定义的、交互式的业务报表。它为用户提供了一个直观的界面,允许非程序员和数据库专家也...
UniERM-ReportDesigner UniERM ReportDesigner 使用报告定义语言 (RDL) 规范生成报告。 UniERM ReportDesigner 是 ReportFU / fyireporting 的一个分支。
资源分类:Python库 所属语言:Python 资源全名:rdl-1.0.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
Report Designer支持RDL(Report Definition Language)格式,这是微软为报表定义的一种XML标准。 5. **数据绑定和参数化**: 在VS2010的报表中,数据可以动态地与各种数据源绑定,并且支持参数化报表。通过参数,...
【rdl-engine_source】是一个专为开发者设计的工具,它允许在没有安装Report Service或特定rdlc运行环境的情况下,进行rdlc报表的开发工作。这个工具的出现极大地简化了rdlc报表的创建流程,提高了开发效率,使得在...