文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | firefox | WPS | 杀毒软件 | Picasa
清风网络
首 页 软件下载 网络学院 数码学院
QQ 电脑入门 游戏 操作系统 图形图像 办公软件 媒体动画 精文荟萃 常用软件 网页编程 技术开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络学院网络编程Asp.Net使用ASP.NET2.0的ReportViewer查看RDLC报表
精品推荐
特别推荐
·.net基础知识错误注意二十二点知识
·asp.net2.0学习历程 菜鸟到中级程序员的飞跃
·.NET基础知识-什么是.NET
·初学C#+ASP.NET+Oracle时积累的备忘点滴
·专家详解:复杂表达式的执行步骤
·asp.net中的加密方法
·DataGrid常见关注问题解决方案
·学习笔记 ASP.NET 5种页面转向法
·ASP.NET网络编程中经常会用到的27个函数集
·ASP.NET之上传文件管理策略
·专家:用.NET动态创建类的实例讲解
·ASP.NET WEB服务和Flash打造MP3播放器
·精通ASP.NET中弹出窗口技术
·asp.net常用代码
·asp.net创建文件夹的IO类的问题
·Asp.Net函数集
·Asp.net cache 简述
·如何最大限度提高.NET的性能 (续)
·.NET编程规范
·Asp.net1.1升级到2.0遇到的一些问题总结
热点TOP10
·ASP.NET上传文件的实例
·ASP.NET2.0下含有DropDownList的GridView编辑、删除的完整例子!
·Access 通用数据访问类(asp.net 2.0 c#)
·DataTable控件的使用
·asp.net(C#)海量数据表高效率分页算法(易懂,不使用存储过程)
·AspNetPager分页控件--使用方法
·Lucene.net 实现全文搜索
·asp.net程序中最常用的三十三种编程代码
·C#.net对XML文件的操作,福cs源代码
·asp.net2.0学习历程 菜鸟到中级程序员的飞跃
·使用 DataAdapter 执行批量更新
·ASP.net发送Email
·C# 3.0语言规范
·ASP.NET购物车的实现及结算处理
·asp.net WebForm页面间传值方法
·Asp.Net函数集
·.Net分页控件发布
·ASP.NET基于角色的窗体安全认证机制
·ASP.NET 中执行 URL 重写
·原创控件代码共享:-日期选择控件

使用ASP.NET2.0的ReportViewer查看RDLC报表

日期:2006年12月14日 作者: 查看:[大字体 中字体 小字体]


介绍:

这篇文章是前天看园子里给的一个链接,具体是谁的我忘记了,只记得http://www.codeproject.com/aspnet/ReportViewer.asp这个地址被贴了出来,然后说因为什么原因就没翻译完。我后来看了下正好对自己有用,因为公司里RS的东西有人在做,而楼下光电部门的BS需求也经常有,并且早就知道有这个东西只是一直没时间研究,正好找到这个文章,于是就好好的研究了一下午,先翻译一下,然后再补充点心得。

翻译的过程中尽量本地化了一下,不过保留了原文作者的意思。如果有翻译不贴切的地方请各位朋友批评指正。

 

在网上有很多关于SqlServer RS 的服务模式(Server Mode),而我在研究本地模式(Local Mode)确实用了很长的时间,尤其还是有参数调用的时候。

之所以要用本地模式而不是服务器模式,是因为服务模式的客户端每次请求一个报表的时候,服务器都要把数据组织成报表然后发送到客户端,虽然这样子安全些,但是巨型报表从服务器到浏览器的传输会降低其性能。

所以这个文章是描述如何组织报表并且用Asp.Net2.0的ReportViewer控件读取出来的,这里我们选用的就是本地模式,并且是使用带参数的存储过程。我所使用的是ASP.NET2.0,VisualStudio2005,还有SQLServer2005加Application Block。如果你没有Microsoft Application Block这个工具,那么就请把示例中通过SQL Helper调用存储过程的代码换成SQL Command的就可以了。

在这里我们选用Northwind数据库,我们的示例展现给用户的就是让用户从下拉列表里选择货品名称然后在报表里筛选出信息来。

第一步,创建带参数的存储过程

ALTER PROCEDURE  ShowProdUCtByCategory(@CategoryName nvarchar(15) )

AS

SELECT  Categories.CategoryName, Products.ProductName,

        Products.UnitPrice, Products.UnitsInStock

FROM    Categories INNER JOIN Products ON

        Categories.CategoryID = Products.CategoryID

WHERE   CategoryName=@CategoryName

RETURN

第二步,使用DataSet设计器创建一个DataSet下的DataTable

在解决方案管理器界面里,右键App_Code这个文件佳,选择”Add New Item”。在弹出的对话框里选择”DataSet”,给它起个名,比如DataSetProducts.xsd,然后点击”Add”按钮。这时候TableAdapter配置工具会自动出现,如果没有出现或者误将其关闭了的话,在DataSet设计器的任何一个地方点击鼠标右键,选择Add,然后再选择TableAdapter这个工具就会再次出现。根据向导来建立DataTable,在出现的界面中分别选择”User existing stored procedures”作为命令类型然后指定”ShowProductByCategory”作为Select命令。

在第一步创建的存储过程在第二步里就变成了一个DataTable,而报表数据就是通过这个DataTable提供的。

 

 

图一:包含一个DataTable的DataSetProducts.xsd就是报表的数据源

 

第三步:创建一个报表文件

在解决发方案管理器下右键选择Add New Item,然后选择Report模板。在这个示例里是直接用默认的名Report.rdlc的。rdl的意思是报表定义语言,c的意思就是客户端(client)。也就是说,rdl是个服务器报表,而rdlc是本地报表。

在工具箱里把Table拖拽到报表设计窗体中,这个”表”有三个部分,头,内容和尾。一个Table就是一个显示数据的区域,一个区域显示的是被绑定到的DataSet下的那些数据元素。尽管一个报表是可以拥有很多的区域的,但是,每个区域只能显示一个DataSet里的内容。基于这点,我们可以用存储过程来联合多张表的数据到一个DataSet里来填充报表。

 

 

图二:工具栏里的专门做报表模板的控件

 

打开”网站数据源”窗口,找到”DataSetProducts”数据集,就是在第二步里创建的那个。展开直到看到叫”ShowProductByCategory”的这个DataTable。这个Table叫这个名字是因为我们之前在TableAdapter配置向导里选择了“Use existing stored procedure”这项,并且我们的存储过程的名字就叫ShowProductByCategory。

在网站数据源窗口中依次把ProductName,UnitPrice和UnitsInStock这三项分别拽到报表设计器里显示细节的那一行,也就是中间那行的第一列,第二列和第三列。而且你可以右键单击任何一个显示细节行中的字段,然后在属性栏里找到Format标签来为Unit Price和Unit In Stock来定义它们的显示格式。

 

 

图三,网站数据源窗体显示了在你程序里定义的DataSet以及它们所拥有的列

 

第四步:在ASP.NET2.0页里加入ReportViewer控件

首先把DropDownList控件拽到表单里,然后用选择数据源选项的方法把Categories里的CategoryName字段进行绑定。在其它场景中用户可以通过其它方法比如文本框的方式来输入参数然后传递到存储过程当中。

然后,把Report View控件拖拽到表单中,并且设置其Visible属性为False。还有需要注意的地方就是,ASP.NET2.0的Report Viewer提供Excel和PDF的导出方式,然而实际的过程中我发现,打印出来的报表和你设计时的样子总会有点误差。

 

 

图四,把这页设置成为StartUp页

 

下一步,调出Report Viewer的智能标签,选择刚才建立好的Report.rdlc文件。

 

 

图五,把报表定义文件联合到Report Viewer控件里。

 

第五步:写代码实现用户在下拉框选择不同的名称然后报表里显示不同的数据

这里不要忘记把Microsoft.Reporting.WebForms命名空间加入到你的code-behind(或code file)文件里。

 

 

 1<PRE lang=cs id=pre1 style="MARGIN-TOP: 0px">using System;

[1] [2] [3] 下一页 




上一篇:Photoshop轻松为照片添加高光透明效果

下一篇:C#中加强ListView控件的功能

使用ASP.NET2.0的ReportViewer查看RDLC报表 相关文章:
·离线查看QQ聊天记录有新招
·查找对方IP地址的一些方法
·一个Struts实现分页,增删改查,Tiles,国际化的DEMO
·如何查出QQ好友精确地理位置
·女性自慰方法大搜查
·用ASP编写网上调查投票系统
·瑞星紧急发放免费杀毒软件查杀“磁碟机”
·Windows错误代码大全集合查询
·利用Windows内置功能轻松查看端口使用情况
·不用QQ密码查看聊天记录
使用ASP.NET2.0的ReportViewer查看RDLC报表 相关软件:
·QQ聊天记录查看器绿色特别版 V5.3
·C语言库函数速查
·电脑故障一查通V2.9
·查看QQ聊天记录V3.0 Build 20071108
·国防资料调查科
·Visual Studio 2005 英文版 ISO 查看
·美国口语大观录音 mp3 查看
·千万别学英语初中高级 mp3+chm电子书 查看
·沸腾家园 新东方背单词4-目前最好的背单词软件(免注册) 查看
·海关进口关税税率查询系统V1.0

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.viphot.com
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.viphot.com All Rights Reserved. 鄂ICP备05000083号Powered by:vipcn