SSRS:如何在 ParameterValue 对象上设置多个值?
下面的代码获取我在为 SSRS 编写的 Windows 界面中为报告参数输入的值。但是,这仅适用于不允许多值的参数。由于 Parameter.Value 是一个字符串,我不知道如何为其分配多值。
private RE2005.ParameterValue[] GetParamValueSettings()
{
var parameters = new RE2005.ParameterValue[_Parameters.Count()];
for (int i = 0; i < _Parameters.Count(); i++)
{
parameters[i] = new RE2005.ParameterValue();
parameters[i].Name = _Parameters[i].Name;
**parameters[i].Value = pnlParams.Controls[_Parameters[i].Name].Text;**
}
return parameters;
}
对于上面粗体的行,我确实尝试了以下测试: parameters[i].Value = "A,B,C";(这些是有效值)
但报告抛出错误,指出它需要有效值。在报告中,这是我的显示方式: = Join(Parameters!myParameter.Value, ", ")
任何建议表示赞赏,谢谢!
The code below gets the values I have entered for my report parameters in a Windows interface I have written for SSRS. However this only works for parameters that do not allow MultiValue. Since Parameter.Value is a string, I don't know how to assign multivalue to it.
private RE2005.ParameterValue[] GetParamValueSettings()
{
var parameters = new RE2005.ParameterValue[_Parameters.Count()];
for (int i = 0; i < _Parameters.Count(); i++)
{
parameters[i] = new RE2005.ParameterValue();
parameters[i].Name = _Parameters[i].Name;
**parameters[i].Value = pnlParams.Controls[_Parameters[i].Name].Text;**
}
return parameters;
}
For the line in bold above I did try this as a test:
parameters[i].Value = "A,B,C"; (those are valid values)
But the report Throws an error saying that it needs valid values. In the report this is how I display it: = Join(Parameters!myParameter.Value, ", ")
Any advice appreciated, thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
使用 Visual Studio 2010,您可以初始化报表参数带有字符串数组。
在 2005 中,您可能必须多次添加具有相同名称但新值的参数。
这是一个过程,如果只有一个多值参数,它将获取报告的参数。
with visual studio 2010, you can initialise the Report parameter with a string array.
with 2005 you may have to add the parameter in multiple times with the same name, but a new value.
This is a proc that would get parameters for a report if there was only one multivalued parameter.