我想访问SSRS 2012
报告中的会话或视图状态变量,就像我们在c#
.
Session["user"]
我想在SSRS
报告中这样访问。
我想包括生成报告时登录的用户。
有什么办法可以做到这一点?我们可以在自定义代码中访问它SSRS
吗?
我想访问SSRS 2012
报告中的会话或视图状态变量,就像我们在c#
.
Session["user"]
我想在SSRS
报告中这样访问。
我想包括生成报告时登录的用户。
有什么办法可以做到这一点?我们可以在自定义代码中访问它SSRS
吗?
在后面的代码中,您可以在报告参数处复制所需的数据。
// Copy the session username to a report param called "CurrentUser".
ReportParameter userParam = new ReportParameter("CurrentUser", Session["user"]);
// add the parameter to the report
reportViewer.ServerReport.SetParameters(new ReportParameter[] { userParam });
然后像添加任何其他参数一样将您的参数添加到报告中。参见示例:http: //msdn.microsoft.com/en-us/library/aa337091.aspx
在报告本身中,您可以使用 引用运行报告的用户User!UserID
。
请参阅内置全局变量和用户参考。
评论后编辑:
由于您似乎没有对运行报告的用户的内部引用,因此您最好的选择可能是使用Hidden Parameter传递用户引用。
来自在线书籍:
您可以在已发布报表的参数输入区域隐藏参数,但在报表 URL 或订阅定义中为其设置值。
所以在这种情况下,这意味着该参数永远不会对用户可见,但您可以通过编程方式设置它。
您可以将基于的字符串传递给报告Session["user"]
,或者您在报告之外管理用户 ID,然后根据报告中的要求显示/操作此参数。
如果有很多公共数据,您可以将会话数据存储在数据库的临时表中。在运行报告之前更新此会话数据表。然后,您可以像访问报告中的任何其他表一样访问这些数据,只需将用户 ID 指定为参数。