Reporting Services in Visual Studio 2005(III/III)
En este post voy a explicar algo que ya he podido nombrar seguro en alguno que otro post, pero a nivel más básico, así otras personas que no han visto nunca Reporting Services podrán verlo de un forma más clara y luego comprenderán mejor los otros post sobre Reporting que ya hay en mi blog y que pondré al final de este.
Parámetros:
Cuando necesitamos mandar información adicional a nuestro informe, aparte de la que ya le provee la fuente de datos(datasource), podemos crear parámetros. Este podemos crearlo desde el menú informe.
Dentro de esta pantalla podremos configurar el tipo de parámetro que será, si está oculto, interno, es multivalor, permite nulos o permite valores blancos. También si tendrá valores disponibles por defecto o no, y como si escritos a mano o vienen de una consulta. Por ultimo, si habrá algún valor por defecto para el parámetro a la hora de ejecutar el informe(también a mano, desde consulta o nada(null)).
Estos parámetros pueden utilizarse desde cualquier sitio donde se pueda poner una expresión. Y la forma de ponerlos es así: Parameters!NombreDelParámetro.Value
Como ejemplo podemos ponerlo en el value de un textbox o la pestaña datos. En el textbox mostrará lo que le pasemos al parámetro y en la pestaña de datos, lo que hará será ejecutar lo que le pasemos por el parámetro(con sus consecuencias [;)]).
Puedes ver como crear y pasar parámetros a través del ReportViewer aquí.
Imágenes:
Debemos de diferenciar dos tipos a pesar de ser lo mismo, imágenes incrustadas y control image.
Una imagen incrustada es una imagen que se queda dentro del informe y que no se puede cambiar(bueno, hay trucos como todo) a menos que sea en diseño. Esta la definimos en tiempo de diseño y la añadimos mediante un control image.
Si metemos directamente un control image a nuestro informe, no nos saldrá una ventana para elegir imagen desde el principio, sino una con cuatro opciones: incrustada(hace lo mismo que la anterior), imagen que se guarda como parte del proyecto, imagen desde base de datos y desde web.
Propiedades del Informe:
Si pulsamos el menú informe, podemos ver una serie de pestañas donde configurar el diseño de la página, poner nuestro nombre y entre otros(todos muy intuitivos) podemos meter código(solo en visual basic) o dlls con funcionalidad(estás si pueden estar en c# y vb.net).
Expresiones:
Cuando creamos un informe, nos puede llamar la atención(o marearnos) el símbolo expresión
. Este icono nos abre un editor como este:
Cuando hemos creado nuestro datasource en la pestaña datos, podemos crear nuestros SQLs personalizados. Tan solo tendremos que ponerla en el espacio en blanco que hay más abajo(imagen anterior).
Pero si queremos añadir parámetros por ejemplo ya no nos valdrá ponerlo con el caracter @ sino con una expresión. Podríamos poner algo así:
="Select * From MiTabla Where MiTabla.MiCampo = " & Parameters!MiParametro.Value
¿Qué es esto?, pues esto es una expresión hecha en visual basic y el igual el comodín o caracter que nos indica que hay una expresión delante.
Desde el editor de expresiones, podemos utilizar expresiones globales, campos, operadores, iif, switch, funciones propias desde código o desde dlls o parámetros entre otros. Es una buena forma personalizar nuestros campos de una tabla, una sql o simplemente jugar un poco con el diseño y estilo de nuestros informes. Nada se escapa a la imaginación y todo lo que se te ocurra puedes aplicarlo de una u otra forma [:D].
Espero que estos tres artículos te haya servido para empezar a caminar con Reporting Services, .NET y sus informes.
Mas sobre Reporting Services en mi blog: http://geeks.ms/blogs/fdiaz/archive/tags/Reporting+Services/default.aspx
Un Saludo