Partager via


Collections globales pour des expressions dans des rapports (Concepteur de rapports Visual Studio)

Les expressions que vous écrivez pour les définitions de rapport qui sont traitées dans les contrôles ReportViewer peuvent comprendre des références à des collections d'objets globales. Vous pouvez utiliser cinq collections d'objets globales : Fields, Globals, Parameters, ReportItems et User. Pour accéder à ces collections, vous pouvez avoir recours à la syntaxe de collection Visual Basic standard. Voici quelques exemples de cette syntaxe :

  • Collection!ObjectName

    =User!Language

  • Collection.Item("ObjectName")

    =User.Item("Language")

  • Collection("ObjectName")

    =User("Language")

Vous pouvez également utiliser la syntaxe de propriété pour accéder à des éléments des collections Globals et User. En voici un exemple :

  • Collection.ObjectName

    =Globals.PageNumber

Les membres des collections Globals et Users renvoient des valeurs de type Variant. Si vous souhaitez utiliser une variable globale dans une expression nécessitant un type de données spécifique, vous devez en premier lieu effectuer une conversion du type de la variable. Par exemple, CDate(Globals!ExecutionTime).

Fields

La collection Fields contient les champs de la source de données actuelle. Ces champs sont généralement utilisés pour afficher des données dans les zones de texte d'un rapport, mais ils peuvent également être employés dans d'autres éléments de rapport, propriétés et fonctions. Les éléments de la collection Fields ont deux propriétés : Value et IsMissing. La propriété Value renvoie la valeur récupérée pour le champ de la source de données. La propriété IsMissing indique si le champ existe dans la source de données, ce qui est utile pour les requêtes renvoyant des jeux de champs variables. La propriété Value des champs manquants a la valeur Null.

La syntaxe la plus courante pour accéder à un objet de champ est la syntaxe de propriété, par exemple Fields!Product.Value. Vous pouvez également utiliser la syntaxe de collection décrite ci-dessus. Certaines sources de données comportent des propriétés supplémentaires pour les champs. Ces propriétés sont accessibles à l'aide de la syntaxe de collection. Si la source de données ne prend pas la propriété en charge ou si le champ n'est pas trouvé lors de l'exécution de la requête, les propriétés de type String et Object ont la valeur Null, et les propriétés de type Integer ont la valeur zéro.

Un rapport contient une collection Fields virtuelle pour chaque source de données du rapport. Les champs doivent être uniques au sein d'une collection, mais le même nom de champ peut être présent dans plusieurs collections. En cas de référence à un champ d'une région de données, la source de données de l'objet métier de la région de données détermine la collection qui est utilisée. En cas de référence à un champ d'une expression d'agrégation, la source de données de l'étendue détermine la collection utilisée.

Globals

La collection Globals comprend les variables globales du rapport. Le tableau ci-dessous décrit les membres de la collection Globals.

Membre Type Description

ExecutionTime

DateTime

Date et heure du début de l'exécution du rapport.

PageNumber

Integer

Numéro de la page actuelle. Ce numéro peut uniquement être utilisé dans les en-têtes et les pieds de page.

ReportFolder

String

Chemin complet du dossier contenant le rapport. Ce chemin n'inclut pas l'URL du serveur de rapports. Ce membre s'applique uniquement aux rapports de serveur.

ReportName

String

Nom du rapport tel qu'il est stocké dans la base de données du serveur de rapports. Ce membre s'applique uniquement aux rapports de serveur.

ReportServerUrl

String

URL du serveur de rapports sur lequel le rapport est en cours d'exécution. Ce membre s'applique uniquement aux rapports de serveur.

TotalPages

Integer

Nombre total de pages du rapport. Ce numéro peut uniquement être utilisé dans les en-têtes et les pieds de page.

Voici quelques exemples de variables globales :

  • Cette expression, placée dans une zone de texte dans le pied de page d'un rapport, indique le numéro de la page actuelle ainsi que le nombre total de pages du rapport.

    =Globals.PageNumber & " of " & Globals.TotalPages
    
  • Cette expression fournit le nom du rapport ainsi que les date et heure de son exécution. Le format des date et heure est déterminé par la chaîne de formatage .NET Framework pour la date courte.

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

Parameters

La collection Parameters comprend les paramètres du rapport. Il est possible d'utiliser des paramètres dans des filtres ou dans d'autres fonctions qui modifient l'aspect du rapport en conséquence. Les éléments de la collection Parameters ont deux propriétés : Value et Label. La propriété Value renvoie la valeur du paramètre, par exemple EmployeeID. Quant à la propriété Label, elle renvoie l'étiquette conviviale du paramètre, par exemple EmployeeName. Si aucune étiquette n'est spécifiée, la valeur de la propriété Label est la même que celle de la propriété Value. Si plusieurs étiquettes sont associées à la même valeur, la première étiquette qui correspond est indiquée. Il est possible d'accéder aux paramètres à l'aide de la syntaxe de propriété ou de la syntaxe de collection.

ReportItems

La collection ReportItems comprend les zones de texte du rapport. Ses éléments ont une seule propriété : Value. La valeur d'un élément ReportItems peut être utilisée pour afficher ou pour calculer des données provenant d'un autre champ du rapport. Pour accéder à la valeur de la zone de texte active, utilisez Me.Value ou simplement Value. Me.Value et Value ne peuvent pas être employés dans une fonction d'agrégation. Utilisez la syntaxe complète pour accéder à la valeur d'une zone de texte à partir de l'une de ces fonctions.

Voici un exemple d'expression d'élément de rapport :

  • Cette expression, placée dans une zone de texte, affiche la valeur d'une zone de texte appelée Textbox1.

    =ReportItems!Textbox1.Value
    

User

La collection User contient des données relatives à l'utilisateur qui exécute le rapport. Le tableau ci-dessous décrit les membres de la collection User.

Membre Type Description

Language

String

Identificateur de langue de l'utilisateur qui exécute le rapport.

UserID

String

Identificateur de l'utilisateur qui exécute le rapport.

Voir aussi

Concepts

Contrôles ReportViewer (Visual Studio)
Utilisation d'expressions dans un rapport (Concepteur de rapports Visual Studio)
Définition de paramètres de rapport dans un rapport (Concepteur de rapports Visual Studio)
Ajout d'en-têtes et de pieds de page à un rapport (Concepteur de rapports Visual Studio)
Configuration de ReportViewer pour un traitement distant