传递给 SSRS 报告多个整数值
pass to the SSRS report multiple integer values
我尝试通过 C# 代码将多个整数数组传递给 SSRS 报告
var rsExec = new ReportExecutionServiceSoapClient(binding, new EndpointAddress(config.ReportExecutionUrl));
ParameterValue[] reportParam = new ParameterValue[] {
new ParameterValue { Name = "pCityId", Value = cityId.ToString() },
new ParameterValue { Name = "pDepartmentIds", Value = string.Join(",", departmentIds) },
new ParameterValue { Name = "pBuildingIds", Value = string.Join(",", buidingIds) }
};
await rsExec.SetExecutionParametersAsync(null, null, reportParam, "en-us");
由于ParameterValue的值类型是“字符串”,看来我别无选择,只能将CSV作为参数传递给报告。
然后,在报告中我可以使用整数数据类型,并说我正在传递“多个值”,但是如何从 C# 代码中做到这一点?
PS。与此相关 question
要在选择了 允许多个值 选项的情况下发送参数,您需要为将要使用的每个值发送一个新的 ParameterValue
对象报告,都具有相同的 Name
.
在上述情况下,您需要为 departmentIds
集合中的每个值发送一个 ParameterValue
,所有值都具有相同的参数名称(“pDepartmentIds”)。
因此,如果要发送 3 个部门 ID,reportParam
数组应包含 3 个 ParameterValue
个对象,所有对象都具有名称“pDepartmentIds”,每个部门 ID 一个。
ParameterValue[] reportParam = new ParameterValue[] {
new ParameterValue { Name = "pCityId", Value = cityId.ToString() },
new ParameterValue { Name = "pDepartmentIds", Value = "1" },
new ParameterValue { Name = "pDepartmentIds", Value = "2" },
new ParameterValue { Name = "pDepartmentIds", Value = "3" },
...
};
为 buildingIds
做类似的事情。
我尝试通过 C# 代码将多个整数数组传递给 SSRS 报告
var rsExec = new ReportExecutionServiceSoapClient(binding, new EndpointAddress(config.ReportExecutionUrl));
ParameterValue[] reportParam = new ParameterValue[] {
new ParameterValue { Name = "pCityId", Value = cityId.ToString() },
new ParameterValue { Name = "pDepartmentIds", Value = string.Join(",", departmentIds) },
new ParameterValue { Name = "pBuildingIds", Value = string.Join(",", buidingIds) }
};
await rsExec.SetExecutionParametersAsync(null, null, reportParam, "en-us");
由于ParameterValue的值类型是“字符串”,看来我别无选择,只能将CSV作为参数传递给报告。
然后,在报告中我可以使用整数数据类型,并说我正在传递“多个值”,但是如何从 C# 代码中做到这一点?
PS。与此相关 question
要在选择了 允许多个值 选项的情况下发送参数,您需要为将要使用的每个值发送一个新的 ParameterValue
对象报告,都具有相同的 Name
.
在上述情况下,您需要为 departmentIds
集合中的每个值发送一个 ParameterValue
,所有值都具有相同的参数名称(“pDepartmentIds”)。
因此,如果要发送 3 个部门 ID,reportParam
数组应包含 3 个 ParameterValue
个对象,所有对象都具有名称“pDepartmentIds”,每个部门 ID 一个。
ParameterValue[] reportParam = new ParameterValue[] {
new ParameterValue { Name = "pCityId", Value = cityId.ToString() },
new ParameterValue { Name = "pDepartmentIds", Value = "1" },
new ParameterValue { Name = "pDepartmentIds", Value = "2" },
new ParameterValue { Name = "pDepartmentIds", Value = "3" },
...
};
为 buildingIds
做类似的事情。