网摘:

MICROSOFT REPORTVIEWER(微软报表)项目中的应用

一. 创建数据集
    【添加】-【新建项】-【数据集】-【OrderReport.xsd】
  创建好后【右键】-【添加】-【DataAdapter】弹出配置向导后创建对应的数据连接
(省略)-【下一步】
  出现输入sql语句时可以把sql语句黏贴至内容中(支持视图),点击【查询生成器】-
查询出对应的结果-【下一步】-【完成】
  数据集创建完成
二. 创建报表
  【添加】-【新建项】-【报表】-【OrderReport.rdlc】
  在VS上方工具栏中【报表】-【数据源】-弹出报表数据源-下拉选中
【OrderReport_******】-【添加到报表】-【确定】
  在【工具箱】中拖动【表】到设计视图后出现表格,点击表格任意处,在上方与左方出
现灰色区域,在表格左上角【右键】-【属性】
  弹出【表属性】窗口,在【数据集名称】下拉选中刚才添加的数据源
【OrderReport_******】-【确定】
  在刚才所说的灰色的上方区域中可以添加【列】,合并【列】,在【表头】单元格中添
入你想加的字段
  表格内【详细信息】区域是想从数据库中读取的数据,选中【详细信息】行中某一单元
格-【右键】-【表达式】弹出【表达式】窗口
  在【类别】中有字段,数据集,函数等可以使用,例如【类别】-选中【字段】-最右边
【字段】出现刚才数据中所要查询的字段-双击【*****(OrderCode)】
   -【确定】,反复操作完成所有字段的表达式
  报表创建完成
三. 创建页面
     过程省略
  在【工具箱】-【报表】-拖动【MicrosoftReportViewer】到页面中,在对应的事件
中插入下面的代码
   
   protected void btnToSearch_Click(object sender, EventArgs e)
        {
            DataTable dt = new DataTable();
            dt = bllo.GetOrderReport();
            Microsoft.Reporting.WebForms.ReportDataSource Ds = new
ReportDataSource("OrderReport_******", dt);
            this.ReportViewer1.LocalReport.ReportPath =
@"Report\OrderReport.rdlc";
            ReportViewer1.LocalReport.DisplayName = "统计表";
            ReportViewer1.LocalReport.DataSources.Clear();
            ReportViewer1.LocalReport.DataSources.Add(Ds);
            ReportViewer1.DataBind();
        }
  完成

-----------------------------------------------------------------------------------------------------------------

ReportViewer报表实现带参数存储过程创建报表以及为rdlc传递参数

先来看一个表结构
Create Table Test
(
PID varchar(100),
PName varchar(100),
PQty int,
PPrice money
)
创建一个存储过程
CREATE PROCEDURE procTest
@condition varchar(1000)
AS
DECLARE @sql varchar(8000)
SET @sql = 'SELECT PID, PName, PQty FROM Test '
IF @condition <> ''
   SET @sql = @sql + @condition
EXEC(@sql)
这里需要说明的是,我看MSDN和网上的例子使用的都是直接SELECT语句带参数的存储过程,但很多时候都需要通过构造
SQL语句进行查询,所以我这里主要讲的是如何使用EXEC这样构造SQL语句的存储过程。
建一 ASP.NET WebApplication,在App_Code目录(没有的话可以右键选择 Add ASP.NET Folder新建此目录)里增加一个新
项,并选择DataSet,填写DataSet名,点击确定。
在打开的窗口中右键选择Add再选择TableAdapter,弹出TableAdapter连接向导对话框,连接数据库(这个过程略),选择 Use
existing stored procedrues(已存在的存储过程),点击下一步,选择procTest,直接点完成,这样一个TableAdapter算是建好
了。
如果那个存储过程直接是SELECT PID, PName, PQty FROM Test 那建好的TableAdapter就会直接把PID, PName, PQty 当作
列显示出来,但用的是EXEC所以要手工将PID, PName, PQty 在右键->新建Column里把这几个加进去,加完后,存盘,然后
新建一个Report文件,新建完后,在Report窗口左侧会把刚刚建的 TableAdapter显示出来,把PID, PName, PQty 列拖到
Report窗口中,布局自己搞定,存盘。
打开Default.aspx文件(自己新建一个都没所谓),在Toolbox里的Data中将ReportView控件拖到窗口上,选择刚刚新建的Report
文件,然后再拖一个Textbox和一个Button,双击Button打开Code窗口填写代码
view plaincopy to clipboardprint?
protected void Button1_Click(object sender, EventArgs e)   
{   
string condition = "";   
if ( Textbox1.Text.Trim() != "" )   
{   
   string condition = "PID = '" + Textbox1.Text.Trim() + "'";   
}   
  
//清除数据源原参数   
ObjectDataSource1.SelectParameters.Clear();   
//增加数据源参数   
ObjectDataSource1.SelectParameters.Add("condition", condition);   
//让ReportView重新加载数据源   
ReportViewer1.LocalReport.Refresh();   
}  
protected void Button1_Click(object sender, EventArgs e)
{
string condition = "";
if ( Textbox1.Text.Trim() != "" )
{
   string condition = "PID = '" + Textbox1.Text.Trim() + "'";
}
//清除数据源原参数
ObjectDataSource1.SelectParameters.Clear();
//增加数据源参数
ObjectDataSource1.SelectParameters.Add("condition", condition);
//让ReportView重新加载数据源
ReportViewer1.LocalReport.Refresh();

}

转载于:https://www.cnblogs.com/aurgler/archive/2010/10/28/1863692.html

MICROSOFT REPORTVIEWER(微软报表)项目中的应用相关推荐

  1. ReportViewer报表模版中显示图片

    在做项目中.我们可能会经常遇到需要在报表中显示图片的需求.如果说这个图片是个固定的,只是作为一个报表的标题或者logo之类的.那么就很简单,可是对于那些保存在数据库中或者通过程序生成的一个内存中的图片 ...

  2. 传智健康项目中相关知识点介绍(如图片存储,发送短信,定时调度,统计报表...)

    1. 图片存储方案 1.1 介绍 在实际开发中,我们会有很多处理不同功能的服务器.例如: 应用服务器:负责部署我们的应用 数据库服务器:运行我们的数据库 文件服务器:负责存储用户上传文件的服务器 分服 ...

  3. ajax调用fastreport,使用Ajax更新ASP.Net MVC项目中的报表对象

    Ajax技术显著加快了Web应用程序的速度.另外,视觉效果方面也有提升.大家都同意,每次点击按钮时整个页面都会被刷新这一点不太友好.如果你的网速不是很快,那么这个过程会很烦人,因为所有的元素都会先消失 ...

  4. 在数据库访问项目中使用微软企业库Enterprise Library,实现多种数据库的支持

    在我们开发很多项目中,数据访问都是必不可少的,有的需要访问Oracle.SQLServer.Mysql这些常规的数据库,也有可能访问SQLite.Access,或者一些我们可能不常用的PostgreS ...

  5. 微软免费软件项目DreamSpark更名为Microsoft Imagine

    9月10日消息,微软免费软件项目DreamSpark近日正式更名为Microsoft Imagine,将与一年一度的微软"创新杯(Imagine Cup)"齐名. 微软免费软件项目 ...

  6. 在SpringBoot项目中使用Ureport2报表工具

    SpringBoot项目中使用Ureport2报表工具 1.在spring boot项目中使用Ureport2报表工具,首先需要在maven的pom.xml中添加Ureport2的依赖. <!- ...

  7. web项目中填写sql信息自动动态生成报表功能(springboot)

    (一)大概 背景: 需求就是设计一个自定义报表功能,当需要新报表时,能够快速的构建. 经过初步的构思,有至少三种方式可以实现: 构建demo代码,一个报表对应编写一套代码,不过可以将重复代码提取,尽可 ...

  8. 分享.NET开发中经常使用到的代码片段 完全从实际项目中提取出来,也可被反反复复的重复借用...

    几年前,一篇<ASP.NET开发人员经常使用的三十三种代码>非常流行,它总结了一些经常在ASP.NET开发中使用到的代码,直接可以拿来使用.今天重读这篇文章,有感而发,善于总结也是进步,于 ...

  9. 本地化Microsoft ReportViewer

    本地化Microsoft ReportViewer ,网上可找寻的代码不多,以下为可供参考的一篇,亲测有效,需稍加改动. using System; using System.Globalizatio ...

  10. java手机界面太小_手机端页面在项目中遇到的一些问题及解决办法

    原标题:手机端页面在项目中遇到的一些问题及解决办法 来源:键盘上的眼泪 segmentfault.com/a/1190000015178877 1.解决页面使用overflow: scroll在iOS ...

最新文章

  1. c语言函数库学习~sscanf~格式化输入
  2. 一个有趣的Script脚本工具
  3. CSS样式:position: absolute
  4. 过滤器获取service方法返回慢_Gateway:自定义过滤器
  5. 破解visual sourcesafe数据库admin用户密码
  6. postgis启动_postgresql的安装和启动方法
  7. 常见服务器解析漏洞(IIS,Nginx,Apache)
  8. UbuntuKylin安装SUN JDK1.7
  9. vue中使用postMessage进行跨越传值
  10. scm中mysql作用_scm项目问题
  11. 自适应关于帧场编码问题
  12. 删除 Tomcat 上次关闭遗留下来的 SESSION 缓存
  13. 618期间, “直播带货”翻车负面信息暴增
  14. 30岁的我们,生活数据有了哪些改变
  15. mycat-mysql读写分离
  16. Word文档多级标题自动编号设置
  17. 致远OA ajaxAction formulaManager 文件上传漏洞
  18. 企业微信开发(1)——整体说明
  19. 520表白小程序设计Python代码详解(PyQt5界面,B站动漫风)
  20. Android 仿微信语音聊天,flutter项目结构

热门文章

  1. 32 Pin和 8 Pin(引脚 )flash烧录操作指导
  2. LoadRunner教程(8)-LoadRunner 负载生成器
  3. 编译libfetion时,提示 从 int 到 QString 的转换有歧义
  4. 基本知识 100159
  5. dns按来路ip智能解析_智能解析_智能DNS解析_操作指南_云解析 DNS - 阿里云
  6. 完全卸载迈克菲Mcafee的工具
  7. 深度Linux安装红警2,深度Deepin Linux v20 Beta下玩红警
  8. duilib列表list使用方法
  9. viper12a电源电路图_基于VIPER12A芯片设计的开关电源
  10. CKEDITOR富文本编辑器+AJAX+JQUERY+ListView综合应用