Compartir a través de


Usar referencias a la colección ReportItems en expresiones (Reporting Services)

La colección integrada ReportItems es el conjunto de los cuadros de texto de los elementos de informe como las filas de una región de datos o los cuadros de texto de la superficie de diseño del informe. La colección ReportItems incluye los cuadros de texto que están en el ámbito actual de un encabezado de página, un pie de página o el cuerpo del informe. Esta colección la determinan en tiempo de ejecución el procesador de informes y el representador de informes. El ámbito actual va cambiando mientras el procesador de informes va combinando consecutivamente los datos del informe y los elementos de diseño de los elementos del informe a medida que el usuario visualiza las páginas de un informe. Puede usar la colección integrada ReportItems para generar encabezados de página de estilo diccionario que muestren el primer y el último elemento de cada página.

Usar la propiedad Value de ReportItems

Los elementos de la colección ReportItems solo tienen una propiedad: Value. El valor de un elemento de ReportItems puede usarse para mostrar o calcular datos de otro campo del informe. Para obtener acceso al valor del cuadro de texto actual, puede usar el valor global integrado Me.Value o simplemente Value de Visual Basic. En las funciones de informe, como First y las funciones de agregado, use la sintaxis completa.

Por ejemplo:

  • Esta expresión, ubicada en un cuadro de texto, muestra el valor de un cuadro de texto de ReportItem denominado Textbox1:

    =ReportItems.Textbox1.Value

  • Esta expresión, ubicada en la propiedad Color de un cuadro de texto de ReportItem, muestra el texto en negro cuando el valor es > 0 y en rojo, en los demás casos:

    =IIF(Me.Value > 0,"Black","Red")

  • Esta expresión, ubicada en un cuadro de texto del encabezado o el pie de página, muestra el primer valor de cada página del informe representado, para un cuadro de texto denominado LastName:

    =First(ReportItems("LastName").Value)

Expresiones de estilo diccionario para los encabezados de página

Puede crear un encabezado de página que muestre el primer cliente de la página y el último cliente de la página. Dado que un cuadro de texto del encabezado de página solo puede hacer referencia una vez a la colección integrada ReportItems en una expresión, necesita agregar dos cuadros de texto al encabezado de página: uno para el nombre del primer cliente (=First(ReportItems!textboxLastName.Value) y otro para el nombre del último cliente (=Last(ReportItems!textboxLastName.Value).

En una sección de encabezado o de pie de página, solo están disponibles los cuadros de texto de la página actual como miembros de la colección ReportItems. Por ejemplo, si ReportItems!textboxLastName.Value hace referencia a un cuadro de texto que solo aparece en la primera página de una región de datos de varias páginas, verá un valor para la primera página, pero todas las demás páginas mostrarán #Error para indicar que la expresión no se pudo evaluar tal como estaba escrita.

Ámbito para la colección ReportItems

A medida que se procesa el informe, cada cuadro de texto del cuerpo del informe o de una región de datos se evalúa en el contexto de su conjunto de datos, su región de datos y sus asociaciones de grupo. El ámbito para una referencia a la colección ReportItems es el ámbito actual o cualquier punto situado más arriba que el ámbito actual.

Por ejemplo, un cuadro de texto de una fila que está en un grupo primario no debe contener ninguna expresión que haga referencia al nombre de un cuadro de texto de una fila de un grupo secundario. Este tipo de expresión no se resuelve como un valor del informe porque el cuadro de texto de la fila secundaria está fuera del ámbito. Para obtener más información, vea Usar las funciones de informe y de agregado integradas en expresiones (Reporting Services).