Reporting Services in Visual Studio 2005(I/III)
Hasta ahora he estado escribiendo sobre Reporting Services(entre otras cosas) en mi blog, empezé con una pequeña introducción a él y algún que otro ejemplo o truco al respecto.
Mirando en algún que otro foro, noto que a pesar de ser fácil(más cuando lo manejas a menudo), cuesta mucho crear el primer informe, ya que hay varias formas de hacerlo: de forma local o de forma remota, con la versión express o sin ella.
Para ayudar a crear, implementar y consumir un informe de una forma más sencilla, voy a hablar sobre como crear nuestro informe de las dos formas posibles desde cero y las características de este durante tres post.
Diferencias:
Cuando creamos un informe que es de tipo local este se crea con la extensión RDLC y cuando el informe es de tipo servidor, este se crea con la extensión RDL. Pues bien, si queremos utilizar un informe de tipo servidor de forma local tan solo tendremos que cambiar la extensión de este a rdlc o lo que es lo mismo añadir una "c" al final del archivo.
¿Porque convertirlo de tipo servidor a tipo local?
Pues muy sencillo, cuando creamos un informe de tipo local, en su vista diseño como veremos luego, tan solo sale el diseñador para arrastrar controles, campos, formulas y demás relacionados con el diseño. En un informe de tipo servidor, cuando lo creamos, nos aparecen tres pestañas para configurar nuestro informe. Pestaña Datos, Diseño y Vista Previa.
En la pestaña de datos, podremos configurar todo lo relacionado con los datos(sql, proveedores y consultas propias) más fácilmente. En la pestaña de datos, es donde arrastraremos nuestros controles de diseño y campos para la creación de la vista final de nuestro informe.
En la vista previa, podremos ver una vista real de nuestro informe tal como quedaría cuando lo llamásemos desde un explorador Web o desde el control ReportViewer.
Creación de un Informe Local:
¿Que necesitamos?: Visual Studio Standard o superior para poder utilizarlo con el control ReportViewer desde Windows Forms o Visual Studio Express(como mínimo) si solo queremos utilizar el informe con Web Forms. El porque este control viene en una versión y no en la otra, es una duda que aún tengo [:(].
Pasos a seguir:
Creamos un proyecto de tipo Windows Forms, añadimos un nuevo item de tipo informe.rdlc y aceptamos.
Una vez aceptado, tendremos esta pantalla:
Lo que tenemos que hacer ahora, es crear un nuevo origen de datos, para ello nos situamos en la pestaña orígenes de datos(2) y pulsamos en uno nuevo.
Al pulsar en uno nuevo, nos saldrá un nuevo asistente que nos pedirá el tipo de origen de donde obtendremos los datos. En mi caso, voy a utilizar una base de datos sql server llamada AdventureWorks(está disponible para descarga aquí). Pulsamos siguiente y configuramos nuestra cadena de conexión. Si ya teníamos otra de antes nos la dejará seleccionar y sino podremos elegir una nueva.
Una vez hecho esto pulsamos en siguiente y nos dejará escribir un nombre para la cadena de conexión que se guarda en el archivo de configuración. Este nombre lo dejaremos tal cual y pulsaremos siguiente.
En la siguiente pantalla podemos elegir de donde queremos obtener los datos. Tablas, vistas, SP o funciones(para el caso de sql server). Elegimos nuestra tabla, que en mi caso será Contact y a continuación finalizamos el asistente. Si miramos nuestra pestaña orígenes de datos deberíamos tener lo siguiente:
Ya tenemos nuestro informe y los datos que vamos a utilizar en él. Ahora tan sólo tenemos que irnos al cuadro de herramientas(3) e insertar algunos controles.
Para este ejemplo voy a utilizar un control tabla. Este tiene un encabezado, un detalle y un pie. Si nos vamos a la pestaña orígenes de datos otra vez, podremos arrastrar los campos a las celdas de la tabla y ya tendremos enlazado nuestros datos con nuestro informe.
Nota: Si arrastramos los campos al encabezado o al pie, solo se mostrará el primer(o un sum de este si es numérico) registro de nuestra tabla(contact en mi caso), mientras que si lo añadimos al detalle añadirá una fila en la tabla por cada registro que tenga la tabla.
Ya está, ya tenemos nuestro informe creado. Ahora la pregunta es: ¿como lo llamamos?. Pues muy fácil, si nos vamos a un formulario de Windows Forms y seleccionamos del cuadro de herramientas(Pestaña datos), veremos el control ReportViewer, podremos arrastrarlo al formulario y mostrarlo ahí.
Una vez hecho esto, nos situamos en el control en la pestaña de arriba a la derecha, seleccionamos nuestro informe. Y con esto listo, ya podemos ejecutar nuestra aplicación con nuestro informe.
Espero a ver sido claro, sino preguntad!!
Hasta la próxima!!!
Un Saludo.