SSRS Установленные параметры программно, вызывающие состояние ValidvalueMissing

Я пытаюсь получить параметр имя пользователя и заменить его значение с именем пользователя сеанса, поэтому я могу перейти к сохраненной процедуре внутри DRL, чтобы сгенерировать таблицу Timestamp с этим именем пользователя. Параметр «Имя пользователя» является одним из параметров RDL, который поставляется с значением по умолчанию, и я пытаюсь изменить его со следующим кодом.

Замена одного из ReportParameters:

var userParameter = GetUserParameter();
if (userParameter != null)
{
    newParameters.Remove(newParameters.FirstOrDefault(param => param.Name.Contains(CurrentUserParameterName)));
    newParameters.Add(userParameter);
}

Найти имя пользователя ReportParameters:

var paremeters = ReportViewer.ServerReport.GetEditableHiddenParameters();

//finds parameter by its name, pelase view const value in CurrentUserParameterName
var userParameter = paremeters.FirstOrDefault(param => param.Name.Contains(CurrentUserParameterName));
if (userParameter != null)
{
    userParameter.Values.Clear();
    userParameter.Values.Add(Utils.GetUserName());
}
return userParameter;

Установить параметры на ServerReport:

ReportViewer.ServerReport.SetParameters(parameters);

После запуска отчета я получаю сообщение «Параметр« имя пользователя »отсутствует значение«

Когда я отладкой и посмотрю в ServerReport.getParameters () Я вижу, что у меня есть ReportParameter «Имя пользователя», у меня есть значения (новые значения), но его состояние - «ManuctsValyValue».

Что я делаю не так? Заранее спасибо, Eddie

6
задан davmos 17 December 2013 в 09:22
поделиться