Colecciones globales para expresiones en los informes (Diseñador de informes de Visual Studio)

Las expresiones que escriba para definiciones de informes que se procesan en controles ReportViewer pueden incluir referencias a colecciones de objetos globales. Puede utilizar cinco colecciones de objetos globales: Fields, Globals, Parameters, ReportItems y User. Para tener acceso a estas colecciones puede utilizarse la sintaxis de colección estándar de Visual Basic. He aquí algunos ejemplos de esta sintaxis:

  • Colección!NombreObjeto

    =User!Language

  • Colección.Elemento("NombreObjeto")

    =User.Item("Language")

  • Colección("NombreObjeto")

    =User("Language")

También se puede recurrir a la sintaxis de las propiedades para tener acceso a los elementos de las colecciones Globals y User. He aquí un ejemplo:

  • Colección.NombreObjeto

    =Globals.PageNumber

Los miembros de las colecciones Globals y Users devuelven variantes. Si desea utilizar una variable global en una expresión que requiera un tipo de datos específico, primero deberá convertir la variable. Por ejemplo, CDate(Globals!ExecutionTime).

Campos

La colección Fields contiene los campos del origen de datos actual. Estos campos se suelen utilizar para mostrar datos en los cuadros de texto de un informe, pero también se emplean en otros elementos, propiedades y funciones del informe. Los elementos de la colección Fields tienen dos propiedades, Value y IsMissing. La propiedad Value devuelve el valor recuperado para el campo del origen de datos. La propiedad IsMissing indica si el campo existe o no en el origen de datos. Resulta de utilidad para aquellas consultas que devuelven conjuntos variables de campos. La propiedad Value de los campos que faltan es Null.

La sintaxis más habitual para obtener acceso a un objeto campo es la sintaxis de propiedades como, por ejemplo, Fields!Product.Value. También se puede utilizar la sintaxis de colecciones descrita anteriormente. Algunos orígenes de datos ofrecen propiedades adicionales para los campos. Utilice la sintaxis de colecciones para obtener acceso a estas propiedades. Si el origen de datos no admite la propiedad en cuestión, o si no se encuentra el campo al ejecutar la consulta, el valor de la propiedad será Null para las propiedades de tipo String y Object, y cero para las propiedades de tipo Integer.

Un informe contiene una colección Fields virtual para cada origen de datos del informe. Los campos deben ser únicos en la colección, pero puede existir el mismo nombre de campo en otras colecciones. Al hacer referencia a un campo de una región de datos, la tabla de datos o el objeto comercial de dicha región determina la colección que se utiliza. Al hacer referencia a un campo de una expresión de agregado, el origen de datos del ámbito determina la colección que se utiliza.

Globales

La colección Globals contiene las variables globales del informe. En la siguiente tabla, se describen los miembros de la colección Globals.

Miembro Tipo Descripción

ExecutionTime

DateTime

Fecha y hora a la que se empezó a ejecutar el informe.

PageNumber

Número entero

Número de la página actual. Sólo puede usarse en el encabezado y pie de página.

ReportFolder

Cadena

Ruta de acceso completa a la carpeta en la que se halla el informe. No incluye la dirección URL del servidor de informes. Este miembro sólo se aplica a informes de servidor.

ReportName

Cadena

Nombre del informe tal como se almacena en la base de datos del servidor de informes. Este miembro sólo se aplica a informes de servidor.

ReportServerUrl

Cadena

Dirección URL del servidor de informes en el que se ejecuta el informe. Este miembro sólo se aplica a informes de servidor.

TotalPages

Número entero

Número total de páginas del informe. Sólo puede usarse en el encabezado y pie de página.

A continuación figuran algunos ejemplos de variables globales:

  • Esta expresión, ubicada en un cuadro de texto en el pie de página de un informe, muestra el número de página y el total de páginas del informe.

    =Globals.PageNumber & " of " & Globals.TotalPages
    
  • Esta expresión devuelve el nombre del informe y la hora a la que se ejecutó. La hora se presenta con la cadena de formato de .NET Framework para fechas cortas.

    =Globals.ReportName & ", dated " & Format(Globals.ExecutionTime, "d")
    

Parámetros

La colección Parameters contiene los parámetros que incluye el informe. Los parámetros pueden utilizarse en filtros o en otras funciones que alteren la apariencia del informe en función del parámetro usado. Los elementos de la colección Parameters tienen dos propiedades, Value y Label. La propiedad Value devuelve el valor del parámetro, como por ejemplo, EmployeeID. La propiedad Label devuelve la etiqueta descriptiva del parámetro, por ejemplo, EmployeeName. En caso de no especificar ninguna etiqueta, el valor de la propiedad Label será el mismo que el de la propiedad Value. Si se asocia más de una etiqueta con el mismo valor, se usa la primera que coincide. Utilice la sintaxis de propiedades o colecciones para obtener acceso a los parámetros.

ReportItems

La colección ReportItems contiene los cuadros de texto de un informe. Los elementos de la colección ReportItems sólo tienen una propiedad: Value. El valor de un elemento ReportItems puede utilizarse para mostrar o calcular los datos de otro campo del informe. Para obtener acceso al cuadro de texto actual, utilice Me.Value o Value. No podrá utilizar Me.Value ni Value en funciones de agregado. Para tener acceso al valor de un cuadro de texto desde alguna de estas funciones, debe utilizarse la sintaxis completa.

A continuación se muestra un ejemplo de una expresión de elemento de informe:

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

    =ReportItems!Textbox1.Value
    

Usuario

La colección User contiene datos acerca del usuario que ejecuta el informe. En la siguiente tabla, se describen los miembros de la colección User.

Miembro Tipo Descripción

Language

Cadena

Id. de idioma del usuario que ejecuta el informe.

UserID

Cadena

Id. del usuario que ejecuta el informe.

Vea también

Conceptos

Controles ReportViewer (Visual Studio)
Usar expresiones en un informe (Diseñador de informes de Visual Studio)
Definir parámetros de informe en un informe (Diseñador de informes de Visual Studio)
Agregar encabezados de página y pies de página a un informe (Diseñador de informes de Visual Studio)
Configurar ReportViewer para el procesamiento remoto