【问题标题】:How to change parameter visibility when accessing the report from Report Manager从报表管理器访问报表时如何更改参数可见性
【发布时间】:2015-04-16 15:20:22
【问题描述】:

我正在处理 SSRS 2008(不是 R2)中的报告...当使用 ReportViewer.asx 通过普通 URL 访问报告时,有些报告的参数是隐藏的

问题是这些隐藏参数需要在使用 SSRS 报告管理器访问报告时可见。

有没有办法做到这一点?

谢谢!

【问题讨论】:

  • 您可以让参数在报告中可见,并将链接的报告指向它。隐藏链接报表中的所有参数,并将 ReportViewer 指向链接报表。您可以管理谁可以查看具有权限的报表管理器上的基本报表。

标签: reporting-services parameters ssrs-2008 visibility reportmanager


【解决方案1】:

将参数标记为在服务器上可见。您无法通过 URL 即时更改其可见性。但是,在 ReportViewer 控件中,您可以为参数提供一个值并将其隐藏。您调用SetParameters 方法并传递ReportParameter 对象(或它们的列表)来指定参数值。 ReportParameter 有一个构造函数覆盖,其第三个参数是 bool visible

这会给参数一个值并将其隐藏在报表查看器控件中:

ReportViewer1.ServerReport.SetParameters(new ReportParameter("ParameterName","ParameterValue",false))

如果您不想提供值,则需要首先使用 NameVisible 属性构建 ReportParameter 对象,然后传递给 SetParameters。像这样:

var parm = new ReportParameter();

parm.Name = "ParameterName";
parm.Visible = false;

ReportViewer1.ServerReport.SetParameters(parm);

【讨论】:

  • 听起来好像行得通……我马上试试……谢谢!!
  • 一个问题...如果我不想为参数设置值,但坚持使用 URL 中发送的值怎么办?我可以省略值部分吗,例如ReportViewer1.ServerReport.SetParameters(new ReportParameter("ParameterName",,false))
  • 你不能在构造函数中省略一个参数,但你可以提前构造ReportParameter,只使用名称和可见属性并尝试传递它。不过,我不确定它是否会起作用。
  • 或者您可以先使用GetParameters 方法并获取该参数的默认值并使用它。
猜你喜欢
  • 1970-01-01
  • 2012-09-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多