RDLC 报表参数、常量及常用表达式的使用方法(上)
一. ASP.NET 程序为RDLC报表提供参数 在我们的报表中,往往需要从ASP.NET程序提供一些参数显示在报表的指定位置,第一篇中我们已经讲过怎样传递一个数据集,但是我们只需要一个值,总 不能把这个值放到DataSet中来传输吧(因为DataSet本其实是由XML结成,在传递过程中需要比data本身更多的资源),所以这个时候我们就 需要知道如何传递一个参数到RDLC报表。下面我们就来讲一讲。 不知道大家还记不记得我在第一篇中的Default.aspx.cs中写的一个Button事件,如下。 protected void ButtonReportGenerate_Click(object sender, EventArgs e) { List<ReportDataSource> reportDataSource = new List<ReportDataSource>(); RportDataSet ds = new RportDataSet(); string templatePath = string.Empty; string totalRecords = string.Empty; SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["LoggingConnectionString"].ConnectionString); SqlCommand command = conn.CreateCommand(); command.CommandType = CommandType.Text; command.CommandText = "SELECT * FROM T_BC_LOGS"; SqlDataAdapter da = new SqlDataAdapter(command); da.Fill(ds.T_BC_LOGS); reportDataSource.Add(new ReportDataSource("RportDataSet_T_BC_LOGS", ds.T_BC_LOGS)); //TemplateFiles templatePath = "ReportTemplate/LogReport.rdlc"; List<ReportParameter> parameterList = new List<ReportParameter>(); Generate Report GetReportMultipleDataSourceFile(reportDataSource, templatePath, parameterList, "pdf"); } 其中我定义了一个泛型变量,如下: List<ReportParameter> parameterList = new List<ReportParameter>(); 但是我并没有给这个变量赋任何值,我要告诉大家的就是这里变量就是为我们传递参数提供的。好,下面我们就来讲一下怎么传递这个参数。 1. 首先我们打开ReportTemplate文件夹中的RDLC报表模板,点击报表的编辑区,然后打开Report菜单下的Report Parameters…,在Report Parameters窗口中,我们点击Add 按钮,接着我们输入这个参数的名称与类型(这个名称你要记住,因为下面的编程中要用到),如果这个参数提供的时候不一定每次都有值,那么我们则要选中 All null value的复选框,如下图所示,如果你有多个参数则以此方法添加即可。
2. 我们从Visual Studio IDE左边的ToolBox中拖一个TextBox到这个报表模板的页首(在我的报表中,复杂的表头大部分都是通过TextBox来实现的,可以设计 TextBox的边框及字体等属性来设计,所以后面的内容中我不会再提如何设计复杂的报表页首),右击这个TextBox,选择Expression…, 在Expression窗口中,我们选择Category中的Parameters,然后双击最右边你刚刚加的那个参数,点击确定即可。至此,对报表的设 计完成了。 3. 修改Default.aspx页面中的程序如下所示: protected void ButtonReportGenerate_Click(object sender, EventArgs e) { List<ReportDataSource> reportDataSource = new List<ReportDataSource>(); RportDataSet ds = new RportDataSet(); string templatePath = string.Empty; string totalRecords = string.Empty; SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["LoggingConnectionString"].ConnectionString); SqlCommand command = conn.CreateCommand(); command.CommandType = CommandType.Text; command.CommandText = "SELECT * FROM T_BC_LOGS"; SqlDataAdapter da = new SqlDataAdapter(command); da.Fill(ds.T_BC_LOGS); reportDataSource.Add(new ReportDataSource("RportDataSet_T_BC_LOGS", ds.T_BC_LOGS)); //TemplateFiles templatePath = "ReportTemplate/LogReport.rdlc"; List<ReportParameter> parameterList = new List<ReportParameter>(); //为参数Parameter1传递This is a parameter parameterList.Add(new ReportParameter("Parameter1", "This is a parameter")); Generate Report GetReportMultipleDataSourceFile(reportDataSource, templatePath, parameterList, "pdf"); } 摘录自百度空间~#[懂鍀べ紾悕]#~,在此表示感谢! |
转载于:https://www.cnblogs.com/gaolijun1986/archive/2011/08/25/2152894.html
RDLC 报表参数、常量及常用表达式的使用方法(上)相关推荐
- Linq之Expression高级篇(常用表达式类型)
目录 写在前面 系列文章 变量表达式 常量表达式 条件表达式 赋值表达式 二元运算符表达式 一元运算符表达式 循环表达式 块表达式 总结 写在前面 首先回顾一下上篇文章的内容,上篇文章介绍了表达式树的 ...
- 使用RDLC报表向报表传入参数
在使用报表向客户展示结果数据时,实时的在报表中显示某些特定的数据是必需的,如:显示的部门.打印的日期等.本文只简单的演示向报表内传入一个字符值.如有其它问题,欢迎讨论. 1.新建一个工程TestRep ...
- 使用RDLC报表(三)--向RDLC报表传入参数
在使用报表向客户展示结果数据时,实时的在报表中显示某些特定的数据是必需的,如:显示的部门.打印的日期等.本文只简单的演示向报表内传入一个字符值.如有其它问题,欢迎讨论. 1.新建一个工程TestRep ...
- [转]RDLC报表-参数传递及主从报表
本文转自:http://www.cnblogs.com/yjmyzz/archive/2011/09/19/2180940.html 今天继续学习RDLC报表的"参数传递"及&qu ...
- 分享懒人张RDLC报表(四)
来自懒人张:RDLC报表(四) RDLC报表中有一个概念叫数据区域(Data Region),数据区域是数据绑定的报表项目,在数据区域中可以显示来自数据集的多行数据.RDLC报表设计器 ...
- C# rdlc 报表学习总结
C# 创建报表过程详解 http://www.jb51.net/article/68481.htm 本文给大家介绍的是使用vs2012 c#创建报表的全部过程的记录,十分的详细,有需要的小伙伴可以参考 ...
- 报表用法 获取rdlc报表的控件
1.对于直接拖入Rdlc报表列表控件中的字段,列表显示控件的显示方式为:相当于每一个列表显示一行数据.如果直接在列表中拖入表控件,则会提示"表"table1"所在的列表中 ...
- 视频教程-C#Winform自带的RDLC报表实例教程-C#
C#Winform自带的RDLC报表实例教程 二十多年的企业管理软件开发经历,熟知管理软件的整个开发流程,熟练掌握VFP语言,掌握VB语言,了解JAVA.asp.net.CSS.HTML/HTML5等 ...
- 动态生成RDLC报表
前段时间,做了RDLC报表,主要是三块功能: 1.从DataGrid提取(包括最新的增删改)数据,自动生成对应的RDLC报表文件(以流的形式驻存在内存中),用ReportViewer类来展示.打印.排 ...
最新文章
- python列表的实现原理_python列表推导式原理和使用方法
- js 对 URL 参数进行 加密 解密
- php标签调用,phpcms栏目标签调用代码大全
- linux oracle swd.oui,centos7安装oracle11g报错,请问怎么解?
- POJ 1287 Networking
- Git操作的基本命令
- Java NumberFormat,DecimalFormat保存小数位数
- CentOS7 中查看进程端口号
- 今日头条视频地址提取 谷歌插件
- ACP敏捷管理-知识要点
- java 线程阻止_Java:在特定队列大小后阻止提交的ExecutorService
- Windows10下如何创建VHDX(VHD)格式的虚拟硬盘文件
- 为Halide安装opencl支持
- 光交换机配置与维护常用命令
- 第五届浙江省大学生网络与信息安全竞赛预赛 部分WP
- 重塑股份携手苏州金龙与嘉兴国鸿公交,完成燃料电池客车交付
- 鼠标之父:恩格尔巴特于2013年7月3日去世
- 最新版:GemBox.Bundle v47.0.1012
- FFmpeg 屏幕录像
- 计算机开机加载后进入不了xp,电脑开机启动后到xp画面后不断自动重启解决方法...
热门文章
- 吴恩达深度学习 —— 4.2 深层网络中的前向传播
- 吴恩达深度学习 —— 4.1 深层神经网络
- C++中时间相关函数的使用
- 利用Excel VBA SQL做特殊文件浏览器
- Opencv--CalcOpticalFlowPyrLK实现的光流法理解
- XML编程-DOM4J
- 【编撰】Directfb 深入 002 DirectFB内存分配与管理:surface pool
- 我们注意到您的计算机目前处于离线状态_你为什么会选择用反渗透设备离线清洗设备?...
- python正弦波和等腰三角波_51proteus仿真:生成方波、正弦波、锯齿波和三角波
- oracle加密表空间,加密表空间