ReportViewer教程(14)-钻取报表和传入参数
这张表显示了该公司的详细资料。
我们按照 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)-钻取报表和传入参数相关推荐
- ReportViewer教程(15)-矩阵报表-1
我们用矩阵报表来观察2002-2003年各季度货物的销售情况: 新建一个项目并在其中放入Windows窗体(步骤见ReportViewer教程(1)-新建工程,添加Form和报表浏览器):建好项目后再 ...
- ReportViewer教程(15)-矩阵报表-6
点确定关闭分组和排序属性对话框后,在矩阵属性对话框点添加来添加一个行组, 名称为:"matrix1_SubCat",表达式为:"=Fields!SubCat.Value& ...
- ReportViewer教程(6)-将报表浏览器与报表联系
调出Form1.vb的设计器,并选中报表浏览器ReportViewer控件(在上面点击一下即选中), 再点击ReportViewer右上角的小山角形如下图,在"选择报表中"选Rep ...
- ReportViewer教程(15)-矩阵报表-5
从工具箱中拖入"矩阵"到报表设计画面上. 右击"解决方案资源管理器"中的"Report1.rdlc",选"打开方式"-& ...
- ReportViewer教程(15)-矩阵报表-4
将下面的图存到工程的目录下(与Data.xml在同一目录),取名为logo.jpg: 在"解决方案资源管理器"中的项目上右击,添加->新建项->报表,新建一个RDLC报 ...
- ReportViewer教程(9)-给报表增加页打印日期编号
增加报表页和打印日期: 从工具箱拖曳两个文本框到页眉区域: 在两个文本框中分别输入(见上图): ="第" & Globals.PageNumber & &quo ...
- ReportViewer教程(4)-为报表打造数据源
页眉.页脚增加好了后,我们还要为报表做一个数据源, 在解决方案资源管理器中,右击工程"ReportViewerTest"->添加->新建项: 点击"新建项&q ...
- ReportViewer教程(11)-给报表特定的内容设置颜色
假如要对报表中某些记录的字体设颜色,例如对总价小于100的这一行字体设红色,总价大于2000的设水鸭色. 由于是要对一行字体设颜色,所以要选中一行,点击"table1"表的详细行行 ...
- ReportViewer教程(10)-给报表分组合计
选择主体内的"table1"表(点击它一下即选中), 再右击它的最左上角方块: 右击后调出菜单,如下图: 选择菜单上"属性",调出"表属性" ...
最新文章
- python大牛分享一些对python的看法
- python自动选取空闲gpu
- JS 移动端触屏滑动
- python chromium 自动化_Python Chromium自动化
- Servlet和HTTP请求协议-学习笔记01【Servlet_快速入门-生命周期方法、Servlet_3.0注解配置、IDEA与tomcat相关配置】
- NeurIPS 2020 | 微软亚研院论文摘录之强化学习GAN篇
- 名创优品向港交所提交上市申请书
- python条件语句有哪些_Python 条件语句
- [雪峰磁针石博客]2018最佳人工智能数据采集(爬虫)工具书下载
- 利用宝塔部署若依前后分离项目(详细教程)
- python中的函数(function)也是对象(二分钟读懂)
- 【ACM】C++程序设计ACM题库总结
- DVBS卫星识别流程
- 掌上飞车-艳云脚本云控系统
- [Typecho]更换头像源及显示QQ显示头像
- 一个优秀的网站首页是如何设计的?
- Jenkins骚操作第四章构建maven项目和Pipeline流水线项目构建
- python之os模块操作文件与文件夹
- e3 v3服务器芯片组,最保值的E3-1230 v3遇上锐龙5:结果惊讶!
- 认识单元测试中的打桩