Tutorial: Crear un informe de ReportViewer

Este tutorial muestra cómo crear un informe simple de tablas en un proyecto de aplicación de Windows Forms de Visual Studio basado en la base de datos de ejemplo AdventureWorks2008.Agregará un informe al proyecto con el Asistente para informes y un control de Windows Forms de ReportViewer al control de Windows Forms, de modo que los usuarios de la aplicación puedan ver el informe.

Para obtener más información sobre cómo diseñar informes con el Diseñador de informes de Visual Studio, vea Diseñador de informes (Visual Studio).

Requisitos previos

Para usar este tutorial, debe tener acceso a la base de datos de ejemplo AdventureWorks2008.La consulta que se usa en este tutorial no funcionará con ninguna versión anterior de AdventureWorks.Para obtener más información acerca de cómo obtener la base de datos de ejemplo AdventureWorks2008, vea Tutorial: Instalar la base de datos AdventureWorks.

En este tutorial se presupone que está familiarizado con las consultas Transaction-SQL y los objetos DataSet y DataTable de ADO.NET.

Para crear un nuevo proyecto de aplicación de Windows Forms

  1. Abra Visual Studio.En el menú Archivo, seleccione Nuevo y después seleccione Proyecto.

  2. En el panel Plantillas instaladas, expanda Otros idiomas y seleccione Visual Basic.

  3. Elija Aplicación de Windows Forms.

  4. En el cuadro Nombre, escriba SimpleReport.

  5. En el cuadro Ubicación, escriba el directorio en el que desea guardar el proyecto o haga clic en Examinar para navegar hasta él.

  6. Haga clic en Aceptar.

    Se abre el Diseñador de Windows Forms y se muestra Form1 del proyecto creado.

  7. Haga clic en el formulario.En el menú Ver, elija Ventana Propiedades.Expanda la propiedad Size para mostrar Width y Height.Establezca Width en 500 píxeles.

Para definir un conjunto de datos y una tabla de datos

  1. En el menú Proyecto, seleccione Agregar nuevo elemento.

  2. En el cuadro de diálogo Agregar nuevo elemento, haga clic en DataSet.Escriba un nombre para el conjunto de datos y haga clic en Agregar.El nombre predeterminado es DataSet1.xsd.

    Esto agrega un nuevo archivo XSD al proyecto y abre el Diseñador de DataSet.

  3. En Cuadro de herramientas, en el Diseñador de DataSet, arrastre un control TableAdapter hasta la superficie de diseño.

    Esto inicia el Asistente para la configuración de TableAdapter.

  4. En la página Elegir la conexión de datos, haga clic en Nueva conexión.

  5. Si esta es la primera vez que crea un origen de datos en Visual Studio, verá la página Elegir origen de datos.En el cuadro Origen de datos, seleccione Microsoft SQL Server.

  6. En el cuadro de diálogo Agregar conexión, realice los pasos siguientes:

    • En el cuadro Nombre del servidor, especifique el servidor en el que se encuentra la base de datos AdventureWorks2008.

      La instancia de SQL Server Express predeterminada es (local)\sqlexpress.

    • En la sección Conexión con el servidor, seleccione la opción que proporciona acceso a los datos.La opción predeterminada es Usar autenticación de Windows.

    • En la lista desplegable Seleccione o escriba el nombre de la base de datos, haga clic en AdventureWorks2008.

    • Haga clic en Aceptar para regresar al asistente y, a continuación, haga clic en Siguiente.

  7. Si especificó Usar autenticación de SQL Server en el paso anterior, elija entre incluir los datos confidenciales en la cadena o establecer la información en el código de la aplicación.

  8. En la página Guardar cadena de conexión en el archivo de configuración de la aplicación, escriba el nombre de la cadena de conexión o acepte el valor predeterminado AdventureWorks2008ConnectionString.Haga clic en Siguiente.

  9. En la página Elija un tipo de comando, seleccione Usar instrucciones SQL y haga clic en Siguiente.

  10. En la página Escriba una instrucción SQL, escriba la siguiente consulta Transact-SQL para recuperar los datos de ventas de la base de datos AdventureWorks2008 y, a continuación, haga clic en Finalizar:

    --SET DATEFORMAT mdy
    
    SELECT      
       PC.Name AS Category, PS.Name AS Subcategory, 
       DATEPART(yy, SOH.OrderDate) AS Year, 
       'Q' + DATENAME(qq, SOH.OrderDate) AS Qtr, 
       SUM(DET.UnitPrice * DET.OrderQty) AS Sales
    FROM Production.ProductSubcategory PS INNER JOIN
       Sales.SalesOrderHeader SOH INNER JOIN
          Sales.SalesOrderDetail DET ON SOH.SalesOrderID = DET.SalesOrderID INNER JOIN
          Production.Product P ON DET.ProductID = P.ProductID 
          ON PS.ProductSubcategoryID = P.ProductSubcategoryID INNER JOIN
       Production.ProductCategory PC ON PS.ProductCategoryID = PC.ProductCategoryID
    WHERE (SOH.OrderDate BETWEEN ('20020101') AND ('20031231'))
    GROUP BY DATEPART(yy, SOH.OrderDate), PC.Name, PS.Name, 
       'Q' + DATENAME(qq, SOH.OrderDate), PS.ProductSubcategoryID
    

    También puede hacer clic en el botón Generador de consultas y usar el Generador de consultas para crear una consulta y validarla con el botón Ejecutar consulta.

  11. Haga clic en Finalizar.

    El Diseñador de Dataset mostrará la definición DataTable para DataTable1 con campos cuyos nombres provienen de las columnas y los alias de columna de la consulta (Category, Subcategory, Year, Qtr y Sales).Usará estos campos cuando enlace datos al informe.

    [!NOTA]

    Si necesita cambiar los campos en la tabla de datos, haga clic con el botón secundario en el encabezado DataTable1 o DataTable1TableAdapter de la página del Diseñador de DataSet.Elija Configurar, lo que reiniciará el Asistente para la configuración de TableAdapter.

  12. Guarde el archivo DataSet1.

Para agregar un nuevo archivo de definición de informe de cliente (.rdlc) utilizando el Asistente para informes.

  1. En el menú Proyecto, seleccione Agregarnuevo elemento.

  2. En el cuadro de diálogo Agregar nuevo elemento, elija Asistente para informes.

  3. En Nombre, escriba Sales Orders.rdlc y, a continuación, haga clic en Agregar.

    Detrás del cuadro de diálogo se abre una superficie de diseño gráfico.

  4. En la página Propiedades del conjunto de datos, en la lista desplegable Origen de datos, seleccione el DataSet que creó.

    El cuadro Conjuntos de datos disponibles se actualiza automáticamente con el DataTable que creó.

  5. Haga clic en Siguiente.

  6. En la página Organizar campos, haga lo siguiente:

    1. Arrastre Category desde Campos disponibles hasta el cuadro Grupos de filas.

    2. Arrastre Subcategory desde Campos disponibles hasta el cuadro Grupos de filas, situado debajo de Category.

    3. Arrastre Year desde Campos disponibles hasta el cuadro Grupos de columnas.

    4. Arrastre Qtr desde Campos disponibles hasta el cuadro Grupos de columnas, situado debajo de Year.

    5. Arrastre Sales desde Campos disponibles hasta el cuadro Valores.

  7. Haga clic en Siguiente dos veces y, a continuación, haga clic en Finalizar.

    De este modo, se crea el archivo .rdlc y, a continuación, se abre en el Diseñador de informes.El Tablix que ha diseñado se muestra ahora en la superficie de diseño.

Para agregar un título al informe

  1. Haga clic en el Tablix en la superficie de diseño para que aparezcan los controladores de columna y filas encima y al lado de la tabla.

    [!NOTA]

    Los controladores son unos cuadros grises que aparecen encima y al lado del Tablix.Los controladores se utilizan para realizar diversas acciones en los grupos de columnas, en los grupos de filas y en el propio Tablix.Los controladores situadas en la parte superior del Tablix son las de las columnas.Los controladores situadas a lo largo del lateral del Tablix son las de las filas.El controlador situado en el lugar donde se encuentran los controladores de columna y fila es el controlador de tabla.

  2. Haga clic en el controlador de tabla para seleccionar todo el Tablix y que muestre la flecha en cruz.

  3. Desplace el Tablix hacia abajo en la superficie de diseño arrastrando la flecha en cruz.

  4. En el cuadro de herramientas, arrastre un elemento Cuadro de texto hasta el área situada encima del Tablix en la superficie de diseño y colóquelo arrastrando la flecha en cruz.

  5. Con el cuadro de texto seleccionado, escriba Company Sales.Si fuera necesario, arrastre el borde del cuadro de texto para expandirlo.

  6. Con el cuadro de texto seleccionado, haga clic en el botón Negrita situado en la barra de herramientas Formato del informe y, a continuación, seleccione 16pt en el cuadro Tamaño de fuente.

  7. Con el cuadro de texto seleccionado, haga clic en el botón Color de primer plano en la barra de herramientas Formato del informe.

  8. En el cuadro de diálogo Elegir color, seleccione Azul oscuro y haga clic en Aceptar.

Para agregar el control ReportViewer al formulario

  1. En el Explorador de soluciones, haga clic en Form1.vb.

  2. En el menú Ver, elija Diseñador.

  3. Desde la sección Informes del cuadro de herramientas, arrastre el control ReportViewer hasta el formulario.

  4. Abra el panel de etiquetas inteligentes del control ReportViewer1 haciendo clic en el glifo de la etiqueta inteligente de la esquina superior derecha.Haga clic en la lista desplegable Elegir informe y seleccione SimpleReport.Sales Orders.rdlc.

  5. En el panel de etiquetas inteligentes, elija Acoplar en contenedor principal.

    A lo largo del resto de esta visita guiada, podrá generar la aplicación y ver el informe en el formulario en cualquier momento.Si desea comprobar cómo afecta cada cambio en el diseño del informe al informe final, genere y visualice el informe como último paso en cada uno de los procedimientos siguientes.

  6. (Opcional) Presione F5 para compilar la aplicación y ver el informe en el formulario.

Para dar formato a un campo de divisa

  1. En el archivo Sales Orders.rdlc de la ventana del Diseñador de informes, haga clic con el botón secundario en la celda superior izquierda que contiene el valor [Sum(Sales)] y, a continuación, haga clic en Propiedades de cuadro de texto.

  2. Seleccione la pestaña Número.

  3. En la lista Categoría, seleccione Moneda.

  4. En la lista Símbolo, seleccione Inglés (Reino Unido).

  5. Haga clic en Aceptar para cerrar el cuadro de diálogo.

  6. Siga los mismos pasos con todas las celdas que contengan el valor [Sum(Sales)].

  7. (Opcional) Presione F5 para compilar la aplicación y ver el informe.Observe el cambio del formato de número.Observe que no se realiza ninguna conversión de moneda; solo se cambia el formato de número.

Para dar formato al diseño del Tablix

  1. En el archivo Sales Orders.rdlc de la ventana del Diseñador de informes, arrastre el cursor para seleccionar dos celdas vacías en la esquina superior izquierda del Tablix.

  2. Haga clic con el botón secundario en las celdas seleccionadas y elija Combinar celdas.

  3. Haga clic con el botón secundario en la celda combinada y seleccione Propiedades de cuadro de texto.

  4. Haga clic en la pestaña Borde.En el área Vista previa, haga clic en los botones de alternancia del borde y elimine los bordes superior e izquierdo.

  5. Haga clic en Aceptar.

  6. Haga clic en el Tablix para mostrar los controladores.En la columna cuyo encabezado es Subcategory, expanda el ancho de columna arrastrando el lado derecho del controlador de columna.De este modo impedirá que el texto del encabezado se ajuste a la línea siguiente.

  7. Presione F5 para compilar la aplicación y ver el informe.

Vea también

Referencia

ReportViewer.Drillthrough

LocalReport.SubreportProcessing

ReportViewer.Drillthrough

LocalReport.SubreportProcessing

Conceptos

Utilizar el panel de etiquetas inteligentes Tareas de ReportViewer

Otros recursos

Designing and Implementing Reports Using Report Designer (Reporting Services)

Ejemplos y visitas guiadas