Partager via


Initialisation d’objets d’assembly personnalisés

Dans certains cas, vous devrez peut-être initialiser des valeurs de propriété et de champ dans vos classes d’assembly personnalisées lorsque vous les instanciez. Vous devrez probablement initialiser vos classes personnalisées avec des valeurs disponibles à partir des collections d’objets globales du rapport. Pour ce faire, substituez la méthode OnInit de l’objet Code d’un rapport. Pour accéder à OnInit, utilisez l’élément Code de la définition de rapport. Il existe deux techniques pour initialiser des valeurs de propriété ou de champ des classes dans un assembly personnalisé que vous envisagez d’utiliser dans votre rapport : vous pouvez déclarer et créer une instance de votre classe à l’aide de OnInit, ou vous pouvez appeler une méthode disponible publiquement à l’aide de OnInit.

Collections d’objets globales et initialisation

Plusieurs collections sont disponibles pour initialiser vos variables de classe personnalisées. Vous pouvez utiliser les collections Globals et User . Les collections Parameters, Fields et ReportItems ne sont pas disponibles au point du cycle de vie du rapport lorsque la méthode OnInit est appelée. Pour utiliser les collections partagées, les globals ou l’utilisateur, vous devez inclure la référence de l’objet Report . Par exemple, pour initialiser votre classe personnalisée en fonction de la langue actuelle de l’utilisateur accédant au rapport, votre élément Code peut ressembler à ce qui suit :

<Code>  
   Dim m_myClass As MyClass  
  
   Protected Overrides Sub OnInit()  
      m_myClass = new MyClass(Report.User!Language, _  
         Report.Globals!ExecutionTime)  
   End Sub  
</Code>  

Une façon d’initialiser la propriété et les valeurs de champ d’une classe comme indiqué précédemment consiste à déclarer votre classe et à créer une instance de celle-ci en appelant un constructeur substitué.

Une autre façon d’initialiser la propriété et les valeurs de champ des classes dans vos assemblys personnalisés consiste à appeler une méthode disponible publiquement que vous définissez à partir de la méthode OnInit . Vous devez d’abord ajouter un nom d’instance pour votre classe dans le fichier de définition de rapport. Une fois que vous avez ajouté la référence d’assembly et le nom d’instance appropriés, vous pouvez appeler votre méthode d’initialisation pour initialiser les valeurs de propriété et de champ de votre classe. Votre méthode OnInit peut ressembler à ce qui suit :

<Code>  
   Protected Overrides Sub OnInit()  
      m_myClass.MyInitializationMethod(Report.User!Language, _  
         Report.Globals!ExecutionTime)  
   End Sub  
</Code>  

Pour plus d’informations sur l’ajout d’une référence d’assembly et d’un nom d’instance pour votre classe personnalisée, consultez Ajouter une référence d’assembly à un rapport (SSRS).

Pour plus d’informations sur les collections d’objets globales, consultez Collections intégrées dans les expressions (Générateur de rapports et SSRS).

Voir aussi

Utilisation d'assemblages personnalisés avec des rapports