2011-02-14 13 views
7

Poniższy kod pobiera wartości, które wprowadziłem dla moich parametrów raportu w interfejsie systemu Windows, który napisałem dla SSRS. Działa to jednak tylko dla parametrów, które nie pozwalają na MultiValue. Ponieważ Parameter.Value jest ciągiem znaków, nie wiem, jak przypisać do niego wartość wielowartościową.SSRS: Jak ustawić wiele wartości w obiekcie ParameterValue?

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

Dla linii pogrubione powyżej że próbował to jako test: Parametry [b] .Value = "A, B, C"; (są to prawidłowe wartości)

Ale raport Zgłasza błąd informujący, że potrzebuje poprawnych wartości. W raporcie tak to wyświetlam: = Dołącz (Parametry! MyParameter.Value, ",")

Każda rada doceniona, dziękuję!

Odpowiedz

4

z pracownią wizualną 2010, możesz initialise the Report parameter with a string array.

z 2005 r. Może zaistnieć potrzeba wielokrotnego dodania parametru o tej samej nazwie, ale nowej wartości.

To jest proces, który pobierałby parametry dla raportu, gdyby był tylko jeden parametr wielowartościowy.

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; 
    } 
Powiązane problemy