2011-02-14 12 views
7

El siguiente código obtiene los valores que he ingresado para mis parámetros de informe en una interfaz de Windows que he escrito para SSRS. Sin embargo, esto solo funciona para los parámetros que no permiten MultiValue. Como Parameter.Value es una cadena, no sé cómo asignarle valores múltiples.SSRS: ¿Cómo establecer valores múltiples en el objeto 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; 
    } 

Para la línea en negrita anteriormente Yo probé esto como una prueba: parámetros [i] .Value = "A, B, C"; (esos son valores válidos)

Pero el informe arroja un error que dice que necesita valores válidos. En el informe, así es como lo visualizo: = Unirme (Parámetros! MyParameter.Value, ",")

Cualquier consejo apreciado, gracias!

Respuesta

4

con visual studio 2010, puede initialise the Report parameter with a string array.

con 2005 puede que tenga que agregar el parámetro varias veces con el mismo nombre, pero con un nuevo valor.

Este es un proceso que obtendría los parámetros de un informe si solo hubiera un parámetro de valores múltiples.

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