您的位置:首页 > 数据库

SSRS sql 2008 以新窗口展现跳转报表的实现方法

2010-11-02 16:48 411 查看
我们做报表跳转的时候,父报表和子报表只能在一个窗口显示,跳到子报表再回到父报表只能通过后退的方式,不方便查看和使用。现在找到了一个可以以新窗口来展现子报表的方法,介绍给大家。
假设有两张报表(父报表report11,子报表report22)
涉及到的参数说明如下:
  Server:TargetServerURL
  Folder:TargetReportFolder
  ReportName:子报表名称
  Para1:子报表参数名称
  parameter:参数值(父报表传过去的,需要调用第二个Function)   只要最后拼出的url符合要求,可以传递多个报表参数,每个参数可以为单值或多值。

  Step1:
  Report11中,工具栏 报表-------报表属性--------代码,自定义代码里添加如下代码,然后确定:
  Public Shared Function GetUrl(ByVal Server As String, ByVal Folder As String, ByVal ReportName As String, ByVal Para1 As String, ByVal parameter As String) as String

Dim URL As String
Dim s As String
Dim a As String

Dim urlhead As String
Dim urlend As String

urlhead = "javascript:void window.open('" urlend="','_blank','resizeable=1,toolbar=0,status=0,menu=0,top=20,left=20,width=740,height=730');"
URL =urlhead + Server + "?" + "%2f" + Folder + "%2f" + ReportName + "&" + "rs:Command=Render" + "&" + para1 +"=" +parameter + urlend

Return URL

End Function
Public function GetParaValue(ByVal para1 as String) as String

Dim s as string
s=“&”+para1+"="
return s

End function
Step2:
在要跳转的单元格,选择“文本框属性”---------操作---------启用为超链接 选择“转到URL” ,公式里填写如下内容: =Code.GetUrl("http://localhost/ReportServer","SSRS1","Report22","ProductCategory",Join(Parameters!Category.Value,Code.GetParaValue("ProductCategory"))) 确定。
Step3: 发布父、子报表到服务器,查看父报表,点击跳转的单元格即可实现单值或多值传递,并以新的窗口查看子报表详细信息。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: