下面的代码获取我在为SSRS编写的Windows界面中为报表参数输入的值。但是,这仅适用于不允许MultiValue的参数。由于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;
}
对于上面粗体的行,我确实试过这个作为测试: 参数[i] .Value =“A,B,C”; (这些是有效值)
但报告引发错误,说它需要有效值。在报告中,这是我显示它的方式:= Join(参数!myParameter.Value,“,”)
任何建议表示赞赏,谢谢!
答案 0 :(得分:4)
使用visual studio 2010,您可以initialise the Report parameter with a string array。
使用2005年,您可能需要多次使用相同的名称添加参数,但需要添加新值。
这是一个proc,如果只有一个多值参数,它将获取报告的参数。
private RE2005.ParameterValue[] SetParameterValue(string name, string[] values)
{
var parameters = new RE2005.ParameterValue[values.Count()];
for (int i = 0; i < values.Count(); i++)
{
parameters[i] = new RE2005.ParameterValue();
parameters[i].Name = name;
parameters[i].Value = value;
}
return parameters;
}