FsYd

木有描述.

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 :: 管理 ::

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

      前几天一个偶然的机会上了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个参数就可以了。以上纯属个人使用经验,若有不对的地方请大家指正,也欢迎大家一起讨论

posted on 2004-06-02 11:03  FsYd  阅读(427)  评论(0)    收藏  举报