Configurar subinformes e informes detallados (Diseñador de informes de Visual Studio)

Pueden utilizarse subinformes e informes de obtención de detalles para vincular informes relacionados entre sí.

  • Un subinforme es un control incrustado dentro del cuerpo de un informe primario. Conceptualmente, un subinforme es similar a un marco de una página web que proporciona un contenedor para el contenido de otra página web. El subinforme se representa dentro del informe primario que lo contiene. Ambos informes se procesan y se muestran simultáneamente.

  • Un informe detallado se abre como resultado de una acción de obtención de detalles configurada en un elemento de informe. Esta acción normalmente abre un informe relacionado o el mismo informe con distintos parámetros en el mismo espacio que informe primario. Normalmente, el informe detallado está relacionado con el informe primario a través de los datos. Un ejemplo común de un informe de obtención de detalles sería un informe de ventas mensual con vínculos a los pedidos de ventas individuales de dicho mes. Al hacer clic en un vínculo de obtención de detalles, el informe primario se reemplaza por un informe diferente donde se proporcionan los detalles adicionales.

Tanto los informes de obtención de detalles como los subinformes admiten la noción de informe primario e informe secundario. Para relacionar los informes, deben crearse parámetros de informe que puedan utilizarse para pasar los datos que establezcan la relación. Para vincular los informes en tiempo de ejecución, debe escribirse código que admita la conexión. Al implementar informes relacionados, asegúrese de que los archivos de definición de informe del cliente (.rdlc) se almacenen juntos, en la misma carpeta del sistema de archivos.

En los siguientes eventos se incluye código de ejemplo donde se muestra la forma de implementar subinformes y acciones de obtención de detalles para el control ReportViewer:

Para obtener más información acerca de cómo incluir interactividad para la obtención de detalles en el informe, vea Cómo ocultar o definir visibilidad de alternancia en un elemento de informe (Diseñador de informes de Visual Studio).

Agregar subinformes

Un subinforme y su informe primario pueden relacionarse mediante parámetros compartidos. Los parámetros deberán agregarse a cada informe. Los parámetros deberán configurarse antes de agregar un subinforme al informe primario. Al agregar el subinforme, se configura el informe primario de modo que pase parámetros al subinforme.

Para agregar un subinforme

  1. Abra el archivo de definición de informe del cliente (.rdlc) en modo de diseño gráfico.

  2. En el cuadro de herramientas, haga clic en Subinforme.

  3. En la superficie de diseño, arrastre un cuadro hasta alcanzar el tamaño que desee para el subinforme. O bien, haga clic en la superficie de diseño para crear un subinforme de tamaño fijo.

    Nota

    Si el subinforme ya existe en el proyecto, puede arrastrar el informe desde el Explorador de soluciones hasta la superficie de diseño para crear un subinforme.

  4. Haga clic con el botón secundario en el subinforme y, a continuación, haga clic en Propiedades.

  5. En Subinforme, seleccione el informe que desee que aparezca en el área del subinforme.

  6. En la ficha Parámetros, haga lo siguiente:

    • En Nombre de parámetro, escriba el nombre de un parámetro del subinforme. Este nombre debe coincidir con un parámetro del informe especificado en la propiedad ReportName.

    • En Valor de parámetro, escriba el valor que debe pasarse al subinforme. Este valor puede ser texto estático o una expresión que apunte a un campo u otro objeto del informe primario.

  7. Repita el paso 2 para agregar más parámetros para pasarlos al subinforme.

Nota

Todos los parámetros requeridos por el subinforme deben incluirse en la lista Parámetros. Si falta algún parámetro necesario, el subinforme no se mostrará correctamente en el informe primario.

Para suministrar datos a los subinformes, la aplicación debe controlar el evento SubreportProcessing del objeto LocalReport. Uno de los argumentos pasados al método controlador de eventos SubreportProcessing es SubreportProcessingEventArgs. En el controlador de eventos, la aplicación puede examinar los valores de los parámetros pasados al subinforme mediante la propiedad Parameters de SubreportProcessingEventArgs. A continuación, la aplicación debe suministrar los datos para el subinforme mediante la propiedad DataSources de SubreportProcessingEventArgs.

Configurar informes de obtención de detalles

Pueden configurarse informes de obtención de detalles por medio de la definición de acciones de obtención de detalles que permitan navegar desde un informe primario hasta un informe secundario que contenga datos adicionales.

Un informe de obtención de detalles suele incluir parámetros que se pasan al mismo mediante el informe primario. En el ejemplo del informe de resumen de ventas, el informe de obtención de detalles incluía un parámetro que tomaba un pedido como valor. El informe de resumen incluye un vínculo de informe de obtención de detalles para cada número de pedido, que abre el informe de detalles de destino cuando se hace clic en el mismo, y pasa el id. de pedido.

Cualquier informe que se almacene en el servidor de informes puede ser un informe de obtención de detalles. Sólo pueden agregarse vínculos de obtención de detalles a cuadros de texto e imágenes.

Para agregar un vínculo de informe de obtención de detalles

  1. Abra el archivo de definición de informe del cliente (.rdlc) en modo de diseño gráfico.

  2. Haga clic con el botón secundario en el cuadro de texto o imagen donde desee agregar el vínculo y, a continuación, haga clic en Propiedades.

  3. En la ficha Navegación, seleccione Saltar a informe.

  4. Escriba o seleccione un nombre de informe. El informe debe ser un archivo .rdlc que forme parte del mismo proyecto.

  5. Para establecer los parámetros que deben pasarse al informe de obtención de detalles, haga clic en Parámetros y, a continuación, haga lo siguiente:

    • En Nombre de parámetro, escriba los nombres de los parámetros del informe de obtención de detalles.

      Nota

      Los nombres de la lista de parámetros deben coincidir exactamente con los parámetros previstos en el informe de destino. Si los nombres no coinciden o si en la lista falta un parámetro previsto, se produce un error en el informe de obtención de detalles.

    • En Valor de parámetro, escriba o seleccione los valores que deben pasarse a los parámetros del informe de obtención de detalles.

      Nota

      Los valores pueden contener una expresión que se evalúe como un valor que se vaya a pasar al parámetro de informe. En la lista de valores, las expresiones incluyen la lista de campos del informe actual.

Para suministrar datos a los informes de obtención de detalles, la aplicación debe controlar el evento Drillthrough del objeto ReportViewer. Uno de los argumentos pasados al método controlador de eventos Drillthrough es DrillthroughEventArgs. DrillThroughEventArgs tiene una propiedad Report que representa el informe de obtención de detalles. En el controlador de eventos, la aplicación host puede examinar los valores de los parámetros pasados al informe de obtención de detalles por medio de una llamada al método GetParameters() en el informe de obtención de detalles. A continuación, la aplicación host debe suministrar los datos para el informe de obtención de detalles mediante la propiedad DataSources del informe de obtención de detalles.

Vea también

Conceptos

Definir parámetros de informe en un informe (Diseñador de informes de Visual Studio)
Agregar interactividad, visibilidad y navegación a un informe (Visual Studio Report Designer)

Otros recursos

Ejemplos y visitas guiadas