Pregunta

Me gustaría ser capaz de recorrer todos los parámetros definidos en mis informes y construir una cadena de caracteres de visualización del nombre del parámetro y su valor.Me gustaría, a continuación, mostrar los resultados en el informe por lo que el usuario conoce que los parámetros utilizados para dicha ejecución.El único problema es que no puedo bucle a través de la colección de Parámetros.No parece ser un indizador en la colección de Parámetros, tampoco parece para implementar IEnumerable.Alguien ha sido capaz de lograr esto?Estoy usando SSRS 2005 y que deben ser implementadas en el Código de Informe (es decir, no externo de la asamblea).Gracias!

¿Fue útil?

Solución

Desafortunadamente, parece que no hay manera simple de hacer esto.Ver http://www.jameskovacs.com/blog/DiggingDeepIntoReportingServices.aspx para obtener más información.Si usted mira la los comentarios de ese post, hay algunas maneras de conseguir alrededor de esto, pero no es muy elegante.La solución más simple se requiere que usted tenga una lista de los parámetros de informe en algún lugar de su Código de Informe, que, obviamente, se viola el SECO principio, pero si quieres la solución más simple, que sólo podría tener que vivir con eso.

Usted podría querer reconsiderar la restricción de no externo de la asamblea, ya que a mi me parece que sería mucho más fácil hacer esto con un ensamblado externo.O si el informe no va a cambiar mucho, puede crear la lista de los nombres de los parámetros y los valores manualmente.

Otros consejos

Si entiendo tu pregunta, acabo de hacer lo que yo hago:Colocar un cuadro de texto en el informe, mientras que usted está configurando el informe, inserte el siguiente:="Parámetro1:"+ Parámetros!Parámetro.Etiqueta + ", Parámetro2:"+ Parámetros!Parámetro2.Etiqueta...

Concedido, no es la cosa más linda, pero funciona bastante bien en nuestra aplicación.

Y estoy usando Etiquetas en lugar de los Valores, ya que hemos valores datetime, y el usuario sólo se preocupa por la corta de la fecha o el mes y el año (dependiendo de la circunstancia), y lo he hecho ya que el formato de trabajo en el ajuste de los parámetros.

Puedo pensar en al menos dos maneras de hacer esto.La primera podría funcionar, el segundo definitivamente el trabajo.

  1. Utilizar el servicio web.Estoy bastante segura de que vi a la API para obtener una colección de parámetros.Incluso si no hay acceso directo siempre se puede crear una colección estándar y copia de la ReportParameter objetos de uno a otro en un bucle foreach - y, a continuación, contador de acceso, con las propiedades de los parámetros disponibles por eliminar la ReportParameter instancias.

  2. Los informes son RDL.RDL es XML.Crear un XmlDocument y cargar el archivo RDL, a continuación, utilizar la DOM, para hacer cualquier cosa que te gusta hasta e incluyendo la configuración de los valores predeterminados o incluso la reescritura de las cadenas de conexión.

Si su aplicación no tiene sistema de archivos el acceso a los archivos RDL usted puede conseguir a través del servicio web.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top