Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En algunos casos, puede que tenga que inicializar valores de campos y propiedades en las clases de ensamblados personalizados al crear instancias de ellos. Probablemente tendrá que inicializar las clases personalizadas con los valores de que disponga en las colecciones de objetos globales del informe. Para ello, se reemplaza el método OnInit del objeto Code de un informe. Para acceder a OnInit, use el elemento Code de la definición de informe. Hay dos técnicas para inicializar valores de propiedad o campo de las clases de un ensamblado personalizado que se piensa usar en el informe: puede declarar y crear una instancia nueva de la clase mediante OnInit o puede llamar a un método disponible públicamente con OnInit.
Colecciones de objetos globales e inicialización
Hay varias colecciones disponibles para inicializar las variables de clases personalizadas. Puede usar las colecciones Globals y User. Las colecciones Parameters, Fields y ReportItems no están disponibles cuando se invoca al método OnInit en el ciclo de vida del informe. Para usar las colecciones compartidas, Globals o User, tiene que incluir la referencia al objeto Report. Por ejemplo, para inicializar la clase base en función del idioma actual del usuario que accede al informe, el elemento Code podría ser similar al siguiente:
<Code>
Dim m_myClass As MyClass
Protected Overrides Sub OnInit()
m_myClass = new MyClass(Report.User!Language, _
Report.Globals!ExecutionTime)
End Sub
</Code>
Una manera de inicializar los valores de los campos y propiedades de una clase según se ha mostrado anteriormente es declarar la clase y crear una instancia nueva de ella llamando a un constructor invalidado.
Otra manera de inicializar los valores de campo y propiedad de las clases de los ensamblados personalizados es llamar a un método disponible públicamente que se define a partir del método OnInit. Primero es necesario agregar un nombre de instancia para la clase en el archivo de definición de informe. Cuando haya agregado la referencia de ensamblado y el nombre de instancia adecuados, podrá llamar al método de inicialización para inicializar los valores de las propiedades y campos para la clase. El método OnInit podría ser similar al siguiente:
<Code>
Protected Overrides Sub OnInit()
m_myClass.MyInitializationMethod(Report.User!Language, _
Report.Globals!ExecutionTime)
End Sub
</Code>
Para más información sobre cómo agregar una referencia de ensamblado y un nombre de instancia para la clase personalizada, vea Agregar una referencia de ensamblado a un informe (SSRS).
Para más información sobre las colecciones de objetos globales, vea Colecciones integradas en expresiones (Generador de informes y SSRS).