SSRS: как установить несколько значений для объекта ParameterValue? - PullRequest
7 голосов
/ 15 февраля 2011

Приведенный ниже код возвращает значения, которые я ввел для параметров отчета в интерфейсе 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"; (это действительные значения)

Но отчет выдает ошибку, в которой говорится, что ему нужны действительные значения.В отчете это показано так: = Присоединиться (Параметры! MyParameter.Value, ",")

Любой совет приветствуется, спасибо!

1 Ответ

4 голосов
/ 15 февраля 2011

в 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;
    }
...