【问题标题】:Add extra userId parameter to ASP.Net ReportViewer向 ASP.Net ReportViewer 添加额外的 userId 参数
【发布时间】:2011-07-30 05:35:34
【问题描述】:

在远程模式下使用 VS2010 中的 Asp.net 报表查看器,我们需要允许用户使用报表查看器上的默认控件在运行报表之前输入参数。

由于需要对数据设置权限,我们在所有报告中都有一个 UserId 隐藏参数,计划是允许用户正常输入参数,然后我们将 [以编程方式] 在报告运行。

然后报告中的数据将返回用户有权查看的数据。

[我们使用 SSRS Web 服务来填充树视图,其中包含可供用户选择的可用报告列表。]

我想我不知道什么是最好的方法。我需要将 userId 参数值传递给 ReportViewer 而不是服务器报告。

我知道您可以使用 Web 服务来管理完全不受控制的参数,但目前我们无法选择。

总之:

用户在报告查看器中选择参数。 后面的代码在报表运行时或初始加载时添加 UserId 参数值,并且查看器将所有参数传递给服务器。

如果您能提供任何帮助,我将不胜感激。

利亚姆

【问题讨论】:

    标签: c# asp.net parameters reportviewer ssrs-2008


    【解决方案1】:

    找到了答案,之后它很简单,也许没有证明这个问题的合理性,但这里是为了以防有人像我昨天一样以低波特率运行。

    将以下事件添加到报表查看器

    onsubmittingparametervalues="Viewer_SubmittingParameters"
    

    在处理程序中

        protected void Viewer_SubmittingParameters(object sender, ReportParametersEventArgs e)
        {
            Microsoft.Reporting.WebForms.ReportParameter userIdParameter =
                new Microsoft.Reporting.WebForms.ReportParameter();
    
            userIdParameter.Name = "UserId";
            userIdParameter.Values.Add(this.Username etc);
    
            // Add to existing parameters
            e.Parameters.Add(userIdParameter);
        }
    

    利亚姆

    【讨论】:

    • 哦,我的波特率太低了。非常感谢您花时间记录您的答案!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-01
    • 2012-10-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多