【问题标题】:Report Viewer Parameters not being set programmatically报表查看器参数未以编程方式设置
【发布时间】:2014-02-18 06:26:09
【问题描述】:

你好, 我正在尝试使用 ASPX 页面中的报告查看器控件来加载我拥有的一些 SSRS 报告。

到目前为止,我在设置数据源和参数值方面遇到了问题。

除了必须由用户填写的参数之外,我还需要设置报表的数据源凭据,以及报表的内部/隐藏参数。

这是我在 Page_Load 方法中使用的代码:

 DataSourceCredentials dsCredentials = new DataSourceCredentials()
        {
            Name = dsProps.Name,
            UserId = dsProps.Username,
            Password = dsProps.Password
        };

        // Configure properties of report viewer
        ReportViewer1.ProcessingMode = ProcessingMode.Remote;
        ReportViewer1.ServerReport.ReportServerUrl = new Uri(rsProps.ReportServerURL);
        ReportViewer1.ServerReport.ReportPath = rsProps.ReportPath;


        // Assign given parameters
        ReportParameter[] reportParams = new ReportParameter[parameters.Count];
        for (int i = 0; i < parameters.Count; i++)
            reportParams[i] = new ReportParameter(parameters.ElementAt(i).Key, parameters.ElementAt(i).Value);
        if (reportParams.Length > 0)
            ReportViewer1.ServerReport.SetParameters(reportParams);
         ReportViewer1.ServerReport.SetDataSourceCredentials(new DataSourceCredentials[] { dsCredentials });

到目前为止,查看器在加载时仍然提示用户输入数据源凭据,并发出内部/隐藏参数缺少值的错误,就好像我在代码中的设置没有效果一样。

感谢您的帮助

【问题讨论】:

    标签: asp.net reporting-services reportviewer


    【解决方案1】:

    我发现在设置参数 (SetParameter) 之前,我必须设置 ReportServerCredentials。那是两个小时,我再也回不来了。

    【讨论】:

    • 节省我的时间,在 ReportServer credentails 之后设置参数位置
    【解决方案2】:

    我相信我解决了这个问题。

    我为这段代码模拟了一个特定的 Windows 用户,当我有模拟代码时,我设置了参数和数据源,它失败了,没有取值。

    我在提到的代码之前移动了模拟,它至少到目前为止是有效的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多