您可以使用子报表和钻取报表将相关报表链接在一起。

  • 子报表是在父报表的表体内嵌入其他报表的项。从概念上讲,子报表类似于为其他网页内容提供容器的网页中的框架。子报表呈现在包含它的父报表内。同时处理和显示这两个报表。

  • 钻取报表是在希望支持指向其他相关报表的钻取链接时创建的一种报表。通常,钻取报表通过数据与父报表关联。举一个常见的钻取报表的示例:包含指向当月各个销售订单的链接的 Monthly Sales 报表。当您单击钻取链接时,父报表将被含有支持详细信息的其他报表替代。

钻取报表和子报表均支持父报表和子报表的概念。若要关联这些报表,必须创建报表参数以传递用来建立关系的数据。若要在运行时链接这些报表,必须编写支持该连接的代码。在部署相关报表时,请确保客户端报表定义 (.rdlc) 文件都存储在文件系统上的同一文件夹中。

下列事件提供示例代码,说明如何实现子报表和钻取操作:

  • Drillthrough

  • SubreportProcessing

  • Drillthrough

  • SubreportProcessing

添加子报表

子报表及其父报表应通过共享的参数进行关联。必须为每个报表添加参数。在向父报表添加子报表之前必须配置这些参数。添加子报表时,需要设置父报表以向子报表传递参数。

添加子报表

  1. 在图形设计模式下打开客户端报表定义 (.rdlc) 文件。

  2. 在工具箱中,单击“子报表”。

  3. 在设计图面上,拖动一个框,根据需要调整子报表的大小。或者,可以单击设计图面来创建固定大小的子报表。

    注意

    如果项目中已经存在子报表,则可以将该报表从解决方案资源管理器拖到设计图面来创建子报表。

  4. 右键单击子报表,再单击“属性”。

  5. 在“子报表”中,选择希望在子报表区域中显示的报表。

  6. 在“参数”选项卡中,执行以下操作:

    • 在“参数名称”中,键入子报表中的参数的名称。此名称必须与 ReportName 属性中命名的报表的报表参数的名称匹配。

    • 在“参数值”中,键入要传递给子报表的值。此值可以是静态文本,也可以是指向父报表中的某字段或其他对象的表达式。

  7. 重复步骤 2 添加要传递给子报表的其他参数。

注意

子报表需要的所有参数都必须包括在“参数”列表中。如果缺少必需的参数,子报表将不会正确显示在父报表内。

若要为子报表提供数据,应用程序必须处理 LocalReport 对象的 SubreportProcessing 事件。SubreportProcessingEventArgs 是传递给 SubreportProcessing 事件处理程序方法的参数之一。在事件处理程序中,应用程序将检查使用 SubreportProcessingEventArgs 的 Parameters 属性传递给子报表的参数值。然后,应用程序必须使用 SubreportProcessingEventArgs 的 DataSources 属性为子报表提供数据。

配置钻取报表

通过定义可从父报表导航到含有支持数据的子报表的钻取操作,可以配置钻取报表。

钻取报表通常包含由父报表传递给它的参数。以销售情况汇总报表为例,钻取报表中就含有一个以订单作为值的参数。该汇总报表中含有与每个订单编号相对应的钻取报表链接。单击此链接将打开包含详细信息的目标报表,并向其传递相应的订单 ID。

任何存储在报表服务器中的报表都可以成为钻取报表。只能给文本框和图像添加钻取链接。

添加钻取报表链接

  1. 在图形设计模式下打开客户端报表定义 (.rdlc) 文件。

  2. 右键单击要向其添加链接的文本框或图像,再单击“属性”。

  3. 在“导航”选项卡中,选择“跳至报表”。

  4. 键入或选择报表名称。报表必须是位于同一项目中的 .rdlc 文件。

  5. 若要设置传递给钻取报表的参数,请单击“参数”,然后执行以下操作:

    • 在“参数名称”中,键入钻取报表中的报表参数的名称。

      注意

      参数列表中的名称必须与目标报表中的预期参数名称完全匹配。如果名称不匹配,或者未列出某个预期的参数,钻取报表将出错。

    • 在“参数值”中,键入或选择要传递给钻取报表的参数的值。

      注意

      值可以包含计算结果为传递给报表参数的值的表达式。值列表中的表达式包括当前报表的字段列表。

若要为钻取报表提供数据,应用程序必须处理 ReportViewer 对象的 Drillthrough 事件。DrillthroughEventArgs 是传递给 Drillthrough 事件处理程序方法的参数之一。DrillThroughEventArgs 具有一个 Report 属性,该属性用来表示钻取报表。在事件处理程序中,宿主应用程序可以通过对钻取报表调用 GetParameters() 方法来检查传递给钻取报表的参数的值。然后,宿主应用程序必须使用钻取报表的 DataSources 属性为钻取报表提供数据。

另请参见

概念

定义 ReportViewer 报表中的报表参数
向 ReportViewer 报表添加交互、可见性和导航

其他资源

示例和演练

[转]配置子报表和钻取报表相关推荐

  1. RDLC报表系列--------钻取报表

    钻取报表开发步骤: 先看总体效果:如图 点击单据编号 下面就做个看看... 1.先添加一个RDLC报表文件作为钻取报表. 添加一个RDLC报表,在设计界面添加一个表格Table,配置好数据源如图: 2 ...

  2. 使用RDLC报表(四)--钻取式报表

    本文内以MSServer自带Northwind库文件内的Customers及Orders这两个表为例,建立两个报表文件,在查询得出Customers的表数据后,点击此表内的CustomerID数据,报 ...

  3. 帆软报表如何传递主表原有参数给子表呢_报表工具--钻取功能--超链接下钻

    超链接钻取是一个非常实用的功能,在各种项目.应用中使用广泛,能够帮助数据分析用户清晰.直观地了解不同层级数据的上下级关系,并聚焦于自己感兴趣的内容.当然,润乾报表也支持这个功能,前面小编有介绍过列表钻 ...

  4. Web报表系统葡萄城报表:Web 报表

    Web(World Wide Web)即全球广域网,也称为万维网,它是一种基于超文本和 HTTP 的.全球性的.动态交互的.跨平台的分布式图形信息系统.Web 报表是以 Web 作为信息展示平台,可以 ...

  5. 报表引擎 - 报表应用思路

    OpenExpressApp计划之内包括一个报表引擎OpenReport.2006年时在公司负责研究并实现了一个报表引擎,写了几篇博文(<交叉表的报表设计>.<研究润乾报表的实现&g ...

  6. .net mvc 报表_Web在线报表设计器使用指南

    市面上的报表工具有很多,虽说功能大同小异,但每一个报表工具都有各自明确的定位,选择最合适的工具,才能达到事半功倍的效果. 本文将要介绍的ActiveReports报表工具,可全面满足 .NET 报表开 ...

  7. 使用游标显示销售报表_协助报表开发之 MongoDB join mysql

    集算器 SPL 语言支持处理多样性数据源,通过 SPL 对 MongoDB 集合与 MySql 表进行 join 关联,不仅简化了对 MongoDB 数据的操作,而且有利于与其它报表工具的方便集成.若 ...

  8. iReport 4.1 报表、子报表、主从报表、合计、实例解析

    开发使用步骤(iReport 4.1.1) 1.      开发使用步骤(iReport4.1)... 2 4.1.       JasperReport 和iReport的介绍... 2 4.1.1 ...

  9. 使用FastReport报表工具生成报表PDF文档

    在我们开发某个系统的时候,客户总会提出一些特定的报表需求,固定的报表格式符合他们的业务处理需要,也贴合他们的工作场景,因此我们尽可能做出符合他们实际需要的报表,这样我们的系统会得到更好的认同感.本篇随 ...

最新文章

  1. 2022-2028年中国超声波探伤仪行业市场现状调研及发展前景分析报告
  2. JVM运行时数据区---方法区(前言)
  3. 启动过程以及故障排除
  4. ipone11android,iphone12全系配置曝光不如买iPhone11 安卓和苹果谁更香
  5. 有多少人在51job上找到工作_打工人都是人上人的原因找到了!
  6. 前端学习(3290):react hook useReducer传入对象+1操作继续编辑更多
  7. Track and Follow an Object----4
  8. aop实现mysql读写分离_mysql读写分离(1)---springboot+aop+tk.mybatis实现对mysql的读写分离...
  9. 伟大时刻:小米的命门
  10. 2022-2027年中国安全仪表系统(SIS)行业发展监测及投资战略研究报告
  11. Rollup 插件开发牛刀小试
  12. MathType公式编辑器中怎么输入千分号
  13. License之外,社区的规则与潜规则
  14. 很全的zencart 模板修改
  15. LabVIEW编程LabVIEW开发视频教学例程与相关资料
  16. 小米电视安装 Plex 打造家庭影院
  17. [四连测(三)]圆形谷仓
  18. Java如何获取IP属地 ip2region failed to create searcher with x:java.io.FileNotFoundException:( 系统找不到指定的路径)
  19. 热搜第一!名校博士挤破头进中学当老师,甚至还有颜宁弟子......
  20. 区块链让知识产权保护更容易

热门文章

  1. AdvStringGrid 垂直居中 、水平居中
  2. jfinal配置rails的数据表
  3. 【面试题41】和为s的两个数字VS和为s的连续整数序列
  4. c++的ORM解决方案 -- ODB
  5. (摘要)100个伟大的商业理念:理念34:企业社会责任
  6. Android布局琐碎(原)
  7. felzenszwalb算法_学习图像场景解析的理论和应用(二)场景解析的经典算法分析之SLIC...
  8. 腐蚀rust研究台抽奖_超级石化推荐:中石化青岛安工院专家分享延迟焦化装置的腐蚀风险分析!...
  9. 重庆理工大学计算机学院学概率论,重庆理工大学概率论试卷及答案.doc
  10. 【STM32】FreeRTOS 时间管理