一. 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 报表参数、常量及常用表达式的使用方法(上)相关推荐

  1. Linq之Expression高级篇(常用表达式类型)

    目录 写在前面 系列文章 变量表达式 常量表达式 条件表达式 赋值表达式 二元运算符表达式 一元运算符表达式 循环表达式 块表达式 总结 写在前面 首先回顾一下上篇文章的内容,上篇文章介绍了表达式树的 ...

  2. 使用RDLC报表向报表传入参数

    在使用报表向客户展示结果数据时,实时的在报表中显示某些特定的数据是必需的,如:显示的部门.打印的日期等.本文只简单的演示向报表内传入一个字符值.如有其它问题,欢迎讨论. 1.新建一个工程TestRep ...

  3. 使用RDLC报表(三)--向RDLC报表传入参数

    在使用报表向客户展示结果数据时,实时的在报表中显示某些特定的数据是必需的,如:显示的部门.打印的日期等.本文只简单的演示向报表内传入一个字符值.如有其它问题,欢迎讨论. 1.新建一个工程TestRep ...

  4. [转]RDLC报表-参数传递及主从报表

    本文转自:http://www.cnblogs.com/yjmyzz/archive/2011/09/19/2180940.html 今天继续学习RDLC报表的"参数传递"及&qu ...

  5. 分享懒人张RDLC报表(四)

    来自懒人张:RDLC报表(四)         RDLC报表中有一个概念叫数据区域(Data Region),数据区域是数据绑定的报表项目,在数据区域中可以显示来自数据集的多行数据.RDLC报表设计器 ...

  6. C# rdlc 报表学习总结

    C# 创建报表过程详解 http://www.jb51.net/article/68481.htm 本文给大家介绍的是使用vs2012 c#创建报表的全部过程的记录,十分的详细,有需要的小伙伴可以参考 ...

  7. 报表用法 获取rdlc报表的控件

    1.对于直接拖入Rdlc报表列表控件中的字段,列表显示控件的显示方式为:相当于每一个列表显示一行数据.如果直接在列表中拖入表控件,则会提示"表"table1"所在的列表中 ...

  8. 视频教程-C#Winform自带的RDLC报表实例教程-C#

    C#Winform自带的RDLC报表实例教程 二十多年的企业管理软件开发经历,熟知管理软件的整个开发流程,熟练掌握VFP语言,掌握VB语言,了解JAVA.asp.net.CSS.HTML/HTML5等 ...

  9. 动态生成RDLC报表

    前段时间,做了RDLC报表,主要是三块功能: 1.从DataGrid提取(包括最新的增删改)数据,自动生成对应的RDLC报表文件(以流的形式驻存在内存中),用ReportViewer类来展示.打印.排 ...

最新文章

  1. python列表的实现原理_python列表推导式原理和使用方法
  2. js 对 URL 参数进行 加密 解密
  3. php标签调用,phpcms栏目标签调用代码大全
  4. linux oracle swd.oui,centos7安装oracle11g报错,请问怎么解?
  5. POJ 1287 Networking
  6. Git操作的基本命令
  7. Java NumberFormat,DecimalFormat保存小数位数
  8. CentOS7 中查看进程端口号
  9. 今日头条视频地址提取 谷歌插件
  10. ACP敏捷管理-知识要点
  11. java 线程阻止_Java:在特定队列大小后阻止提交的ExecutorService
  12. Windows10下如何创建VHDX(VHD)格式的虚拟硬盘文件
  13. 为Halide安装opencl支持
  14. 光交换机配置与维护常用命令
  15. 第五届浙江省大学生网络与信息安全竞赛预赛 部分WP
  16. 重塑股份携手苏州金龙与嘉兴国鸿公交,完成燃料电池客车交付
  17. 鼠标之父:恩格尔巴特于2013年7月3日去世
  18. 最新版:GemBox.Bundle v47.0.1012
  19. FFmpeg 屏幕录像
  20. 计算机开机加载后进入不了xp,电脑开机启动后到xp画面后不断自动重启解决方法...

热门文章

  1. 吴恩达深度学习 —— 4.2 深层网络中的前向传播
  2. 吴恩达深度学习 —— 4.1 深层神经网络
  3. C++中时间相关函数的使用
  4. 利用Excel VBA SQL做特殊文件浏览器
  5. Opencv--CalcOpticalFlowPyrLK实现的光流法理解
  6. XML编程-DOM4J
  7. 【编撰】Directfb 深入 002 DirectFB内存分配与管理:surface pool
  8. 我们注意到您的计算机目前处于离线状态_你为什么会选择用反渗透设备离线清洗设备?...
  9. python正弦波和等腰三角波_51proteus仿真:生成方波、正弦波、锯齿波和三角波
  10. oracle加密表空间,加密表空间