您的位置:首页 > 数据库

SQL Reporting Services 困惑的解决 直接传递参数并用ReportViewer来呈现报表

2006-11-15 16:47 453 查看
From:http://www.cnblogs.com/zsww/archive/2004/06/02/12894.html

前几天一个偶然的机会上了odetocode.com,看到几篇关于SQL Reporting Services的文章,很有启发性,于是结合了Reporting Services 联机丛书研究了一下,我的困惑算是暂时解决了


通过直接传递参数给.aspx页面(使用ReportViewer控件呈现报表),在.aspx页面中接受参数从而呈现所需报表。主要解决方法如下:

1.用vs.net打开ReportViewer这个项目,项目文件夹在你安装的SQL Reporting Services的相关文件夹中(见图1)。



2.打开ReportViewer.cs文件,写入以下方法(见图2),然后重新编译这个项目。



3.新建一个带参数的报表文件rdl,具体不详述,请参考我以前的文章。

4.新建一个.aspx文件,引用编译好ReportViewer.dll,拖入这个控件到.aspx页面(见图3),



可以在ReportViewer的属性栏中直接设置报表路径和报表服务器路径及相关属性,也可以在.aspx.cs的page_load中用code的方式设置(见图4)。



5.为了测试传递参数,再建一个htm页面加入一个链接,连接中加入所要传递的参数(见图5)。



6.在.aspx.cs代码中接受传递来的参数,同时要把接收到参数传递给报表,这就用到了图2中的方法了(见图6)。



7.运行后就可以得到你所传参数的报表了(见图7),上面没有查询参数框是因为在ReportViewer属性的Parameters设为false了,这样看起来界面更好一点。



总结一下:最主要的地方还是在第2步,其实我们可以添加其他类似的方法来达到自己所要的结果。如果要传递2个或3个值怎么办,其实方法也是一样的,只要在报表文件中设置2个或3个参数就可以了。另外补充一下关于导出打印的问题,其实可以在.cs代码中直接设置导出的格式,比如 this.ReportViewer1.Format=“pdf“;这样页面就直接会用acrobat打开的。
以上纯属个人使用经验,若有不对的地方请大家指正,也欢迎大家一起讨论
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐