当我们在前面做的报表上点击某一公司名称时,钻取了另一张报表并传递以该公司名称为内容的参数,

这张表显示了该公司的详细资料。

我们按照  ReportViewer教程(2)-添加空报表Report1.rdlc

和        ReportViewer教程(3)-添加空报表Report1.rdlc

的方法添加一个名为Report2.rdlc的新报表,从已有的数据源中拖入相应的字段到报表中。

在报表的空白处右击调出菜单,

选“报表参数”,调出“报表参数”对话框:

在名称和提示中分别输入“Parameter_公司名称”,按确定。

从工具箱中拖入一个文本框到“table1”表的上方,在其中输入:

=Parameters!Parameter_公司名称.Value & " 详细信息"

做好的表如下图:

右击“table1”表的右上角(如下图),选“属性”,

调出表属性对话框(如下图),再选"筛选器"选项卡

在表达式的第一行中下拉后选:"=Fields!公司名称.Value"一项,如下图:

在"值"的第一行下拉后选"表达式",如下图:

在出来的“编辑表达式”对话框中选参数,再双击参数“Parameter_公司名称”参数,

这样参数就自动填为:=Parameters!Parameter_公司名称

如下图:

再按确定,退出“编辑表达式”对话框。再按确定,退出表属性对话框。

这时Report2.rdlc报表就做好了。

再调出Report1.rdlc报表设计画面,

右击公司名称下面一个单元格,点属性,调出该单元格的“文本框属性”,

选“导航”选项卡,再选“跳至报表”,下拉后有“Report2”,将它选中:如下图:

再点击“跳至报表”右面的参数按钮:

在参数对话框中选 参数名称为:Parameter_公司名称

参数值为:=Fields!公司名称.Value

按确定。再按确定退出该单元格的“文本框属性”对话框。

这样Report1.rdlc报表也就设置好了。

  二个表设好后还要输入一些引发钻取事件的代码。

调出Form1.vb代码编辑画面,添加一个钻取事件的方法“名为DemoDrillthroughEventHandler”:

如果是 .net VB ,添加代码如下:

Private Sub DemoDrillthroughEventHandler(ByVal sender As System.Object, ByVal e As DrillthroughEventArgs)

Dim myLocalReport As LocalReport
        myLocalReport = e.Report
        myLocalReport.DataSources.Add(New ReportDataSource("DataSet1_DataTable1", Me.DataSet1.DataTable1))

End Sub

在再Form1_Load中添加一行代码:

 AddHandler ReportViewer1.Drillthrough, AddressOf DemoDrillthroughEventHandler

如果是 .net C# ,添加代码如下:

要有命名空间:using Microsoft.Reporting.WinForms;

void DemoDrillthroughEventHandler(object sender, DrillthroughEventArgs e)
    {
        LocalReport localReport = (LocalReport)e.Report;
        localReport.DataSources.Add(new ReportDataSource

("DataSet1_DataTable1",this.DataSet1.DataTable1));
    }

在再Form1_Load中添加一行代码:

reportViewer1.Drillthrough += new DrillthroughEventHandler(DemoDrillthroughEventHandler);

代码添加完后运行程序:

点击某一公司的名称(如上图),得到如下图的报表:

一切都OK了。

上面是从一个报表向另一个报表传送参数,如果从程序的代码中向报表传送参数,请按下面的图示来做。

下图说明了用.net vb 代码向Report1.rdlc的报表传送内容为“定单报表”的参数:

如果是 .net C# 的话,用下面的代码:

ReportParameter p = new ReportParameter("Report_Parameter_0", "定单报表");

this.reportViewer1.LocalReport.SetParameters(new ReportParameter[]{p});

ReportViewer教程(14)-钻取报表和传入参数相关推荐

  1. ReportViewer教程(15)-矩阵报表-1

    我们用矩阵报表来观察2002-2003年各季度货物的销售情况: 新建一个项目并在其中放入Windows窗体(步骤见ReportViewer教程(1)-新建工程,添加Form和报表浏览器):建好项目后再 ...

  2. ReportViewer教程(15)-矩阵报表-6

    点确定关闭分组和排序属性对话框后,在矩阵属性对话框点添加来添加一个行组, 名称为:"matrix1_SubCat",表达式为:"=Fields!SubCat.Value& ...

  3. ReportViewer教程(6)-将报表浏览器与报表联系

    调出Form1.vb的设计器,并选中报表浏览器ReportViewer控件(在上面点击一下即选中), 再点击ReportViewer右上角的小山角形如下图,在"选择报表中"选Rep ...

  4. ReportViewer教程(15)-矩阵报表-5

    从工具箱中拖入"矩阵"到报表设计画面上. 右击"解决方案资源管理器"中的"Report1.rdlc",选"打开方式"-& ...

  5. ReportViewer教程(15)-矩阵报表-4

    将下面的图存到工程的目录下(与Data.xml在同一目录),取名为logo.jpg: 在"解决方案资源管理器"中的项目上右击,添加->新建项->报表,新建一个RDLC报 ...

  6. ReportViewer教程(9)-给报表增加页打印日期编号

    增加报表页和打印日期:   从工具箱拖曳两个文本框到页眉区域: 在两个文本框中分别输入(见上图): ="第" & Globals.PageNumber & &quo ...

  7. ReportViewer教程(4)-为报表打造数据源

    页眉.页脚增加好了后,我们还要为报表做一个数据源, 在解决方案资源管理器中,右击工程"ReportViewerTest"->添加->新建项: 点击"新建项&q ...

  8. ReportViewer教程(11)-给报表特定的内容设置颜色

    假如要对报表中某些记录的字体设颜色,例如对总价小于100的这一行字体设红色,总价大于2000的设水鸭色. 由于是要对一行字体设颜色,所以要选中一行,点击"table1"表的详细行行 ...

  9. ReportViewer教程(10)-给报表分组合计

    选择主体内的"table1"表(点击它一下即选中), 再右击它的最左上角方块: 右击后调出菜单,如下图: 选择菜单上"属性",调出"表属性" ...

最新文章

  1. python大牛分享一些对python的看法
  2. python自动选取空闲gpu
  3. JS 移动端触屏滑动
  4. python chromium 自动化_Python Chromium自动化
  5. Servlet和HTTP请求协议-学习笔记01【Servlet_快速入门-生命周期方法、Servlet_3.0注解配置、IDEA与tomcat相关配置】
  6. NeurIPS 2020 | 微软亚研院论文摘录之强化学习GAN篇
  7. 名创优品向港交所提交上市申请书
  8. python条件语句有哪些_Python 条件语句
  9. [雪峰磁针石博客]2018最佳人工智能数据采集(爬虫)工具书下载
  10. 利用宝塔部署若依前后分离项目(详细教程)
  11. python中的函数(function)也是对象(二分钟读懂)
  12. 【ACM】C++程序设计ACM题库总结
  13. DVBS卫星识别流程
  14. 掌上飞车-艳云脚本云控系统
  15. [Typecho]更换头像源及显示QQ显示头像
  16. 一个优秀的网站首页是如何设计的?
  17. Jenkins骚操作第四章构建maven项目和Pipeline流水线项目构建
  18. python之os模块操作文件与文件夹
  19. e3 v3服务器芯片组,最保值的E3-1230 v3遇上锐龙5:结果惊讶!
  20. 认识单元测试中的打桩

热门文章

  1. win10配置gcc编译环境
  2. DP! | 不要怂!
  3. Linux下程序开机启动
  4. UNIX-LINUX编程实践教程-第八章-实例代码注解-写一个简单的shell
  5. 讲解Java中的String几种类型
  6. Visual Studio 2012 和.NET Framework 4.5 快速开始的5分钟视频
  7. DELPHI GetClassName - 获取指定窗口的类名
  8. 如何修改SQL Server 2000身份验证模式和系统管理员
  9. 分布式数据库中间件 MyCat 安装及使用
  10. Nacos集群部署说明