0

尝试从 C# 代码创建 SSRS 快照。它工作正常,除非报告中的参数是多值参数。多值字段应该如何设置?

parameters[0] = new ReportParameter();
parameters[0].Name = "countryCodeList";
parameters[0].DefaultValues = new string[] { "DK", "FI", "GB", "NO", "SE" };  // ???

parameters[1] = new ReportParameter();
parameters[1].Name = "fromDebitDate";
parameters[1].DefaultValues = new string[] { FormatDateTimeParamter(fromDebitDate) };

parameters[0].MultiValue = true;   // ???

ReportingService.SetReportParameters(report.Path, parameters);

return ReportingService.CreateReportHistorySnapshot(report.Path, out warnings);
4

1 回答 1

0

如果我没记错的话,SSRS 对于它希望你添加多值的方式有点愚蠢,因为你不能只定义和实例化这些值。您需要单独定义它们,然后在内存服务的情况下添加它们,然后将参数添加到已经存在的参数对象数组中。我想是这样的,来自这个网站:http ://forums.asp.net/t/1338302.aspx

List<ReportParameter> paramList = new List<ReportParameter>();
ReportParameter param = new ReportParameter("ParamName");

// Create the string array of values to pass

string[] values = new string[]{"x", "y", "z"};

// Add a range of elements from an array to the end of the StringCollection.

param.Values.AddRange(GetStringArray());

// Add the parameter to the list of ReportParameters

paramList.Add(param);

// Set the reports parameters

this.ReportViewer1.ServerReport.SetParameters(paramList);
于 2013-09-17T23:12:22.870 回答