SSRS: как установить множественные значения для объекта ParameterValue?
Приведенный ниже код возвращает значения, которые я ввел для параметров отчета в интерфейсе Windows, который я написал для SSRS. Однако это работает только для параметров, которые не допускают 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;
}
Для строки, выделенной жирным шрифтом выше, я попробовал это в качестве теста:parameters [i].Value = "A, B, C"; (это действительные значения)
Но отчет выдает ошибку, говорящую, что ему нужны действительные значения. В отчете это показано так: = Join(Параметры! MyParameter.Value, ", ")
Любые советы приветствуются, спасибо!
1 ответ
Visual Studio 2010 позволяет инициализировать параметр Report строковым массивом.
с 2005 года вам может понадобиться добавить параметр несколько раз с тем же именем, но с новым значением.
Это процедура, которая получит параметры для отчета, если будет только один многозначный параметр.
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;
}