【问题标题】:Microsoft Reporting not accepting report parameterMicrosoft Reporting 不接受报告参数
【发布时间】:2016-02-18 10:47:10
【问题描述】:

拨打reportViewer.ServerReport.Render("name", "deviceInfo");

我得到以下异常

发生ReportServerException

其他信息:本报告 需要报告参数的默认值或用户定义值 '我的参数'。要运行或订阅此报告,您必须提供 参数值。 (rsReportParameterValueNotSet)

但我设置的报告参数明确包含“MyParam”;

 reportViewer.ServerReport.SetParameters(reportParams);

如果使用调试器 reportParams 单步执行代码是 ReportParameter 的一个 IEnumerable,并且其中一个参数的名称为“MyParam”,其中一个字符串集合为 (count 1),其中包含一个字符串值。

有什么想法吗?

【问题讨论】:

    标签: c# reporting-services


    【解决方案1】:

    您需要确保“MyParam”的值是单个值,还要检查并确保“MyParam”参数是从您的报告模板中定义的并采用字符串值,您还可以从报告模板本身。

    var reportParams = new List<ReportParameter>();
    
    // make sure access the first item from the string collection
    var myParam = new ReportParameter("MyParam", stringCollection[0]);
    reportParams.Add(myParam );
    
    reportViewer.ServerReport.SetParameters(reportParams);
    

    【讨论】:

    • 传入单个字符串或收集字符串作为值都没有关系,因为ReportParameter 无论如何都会返回一个字符串集合public StringCollection Values { get; }。我猜它可能是报告方面的配置
    • 但我还是将一个字符串传递给构造函数
    猜你喜欢
    • 1970-01-01
    • 2010-11-04
    • 1970-01-01
    • 1970-01-01
    • 2010-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多