如何从asp.net c#向SSRS传递多值参数

本文关键字:值参 参数 SSRS asp net | 更新日期: 2023-09-27 18:25:55

我正在用嵌入的ReportViewer控件连接一个网站。我需要向报表传递一个多值参数(字符串数据类型)。我尝试过使用以下方法,但每次带有参数的报告错误都缺少一个值。

这是我使用的方法:

string s = String.Join(",", paramValue.ToArray());
// method 2 carriage return new line delimited string
string s = String.Join("/r/n", paramValue.ToArray()) + "/r/n";
// method 3 values as a string array
string[] s = paramValue.ToArray();
paramList.Add(new ReportParameter("ParamName", s, false));

显然,上面的代码并不是我正在使用的,但它确实显示了我尝试过的变体。

以上都不起作用。请帮我解决这个问题。

如何从asp.net c#向SSRS传递多值参数

您必须将其作为数组添加到类型为StringCollectionValues属性中。

 List<ReportParameter> rptParams = new List<ReportParameter>();
    ReportParameter param = new ReportParameter("ParamName");
    string[] values = new string[]{"a", "b", "c"};
    param.Values.AddRange(values);
    rptParams.Add(param);
    this.ReportViewer1.ServerReport.SetParameters(rptParams);