Partager via


Création de sources de données pour un rapport

Un fichier de définition de rapport client (.rdlc) inclut des éléments de dataset qui définissent la structure de source de données utilisée par le rapport. Vous devez ajouter au rapport un ou plusieurs datasets avant de pouvoir utiliser les données dans votre définition de rapport. Après avoir créé un dataset, vous pouvez faire glisser un champ spécifique sur une région de données ou une zone de texte dans le rapport.

Les fichiers de définition de rapport client (.rdlc) sont traités par le contrôle ReportViewer en tant que rapports locaux. Contrairement aux rapports serveurs, les rapports locaux requièrent que les données soient traitées avant que le contrôle ReportViewer puisse les traiter. Les rapports locaux peuvent utiliser des données de n'importe quelle source à condition qu'elles puissent être fournies en tant que DataTable ou collection IEnumerable d'objets métier. La table de données ou l'objet métier retourne une liste de champs qui peuvent être utilisés par le rapport. Chaque champ contient un pointeur vers un champ de base de données et une propriété de nom, un champ dans une source de données d'objet ou une colonne dans un objet DataTable. Vous pouvez faire glisser les champs de la fenêtre Données du rapport sur l'aire de conception de votre rapport.

Configuration des sources de données dans un projet

Les approches suivantes sont recommandées pour configurer un objet DataSet ou une énumération IEnumerable d'objets métier en tant que source de données d'un rapport. Une fois qu'une source de données a été configurée, vous pouvez lier l'objet DataSet ou les objets métier à votre rapport.

Utilisation de tables de données

Pour créer un objet DataTable, utilisez la commande Ajouter un nouvel élément dans le menu Projet, puis sélectionnez l'objet DataSet. Faites glisser un TableAdapter à partir de la boîte à outils sur l'Éditeur DataSet pour configurer l'objet DataTable à l'aide de l'Assistant TableAdapter. L'Assistant TableAdapter fournit un générateur de requête et une fonction d'aperçu de données qui vous permettent de vérifier immédiatement les résultats de la requête.

Utilisation d'objets métier

Un objet métier est un objet d'application qui expose les propriétés publiques de types de données simples. Par exemple, un groupe d'objets de titre d'ouvrage créés par votre application est un objet métier qui peut servir de source de données pour votre rapport.

Pour être accessible en tant que source de données, une classe doit exposer une méthode ou une propriété qui retourne un objet IEnumerable. Vous pouvez ajouter une classe ou une référence à l'assembly pour une classe de votre projet.

Les procédures d'utilisation des objets métier varient en fonction des projets Windows Forms et ASP.NET. Pour obtenir des instructions sur l'utilisation d'objets métier dans Windows Forms, consultez Procédure pas à pas : utilisation d'une source de données d'objet métier avec le contrôle Windows Forms ReportViewer en mode de traitement local. Pour obtenir des instructions sur l'utilisation d'objets métier dans ASP.NET, consultez Procédure pas à pas : utilisation d'une source de données d'objet métier avec le contrôle serveur Web ReportViewer en mode de traitement local.

Liaison des données à un rapport

Les fichiers de définition de rapport (.rdlc) sont liés à des objets DataSet ou à des objets métier qui contiennent les données nécessaires. Lorsque vous créez un rapport à l'aide de l'Assistant Rapport, celui-ci vous guide dans le processus de création d'un objet DataSet avec les données dont vous avez besoin et vous aide à le lier au rapport. Vous pouvez également lier manuellement à un rapport un objet DataSet ou un objet métier dans la fenêtre Données du rapport. Cette fenêtre affiche tous les datasets qui sont liés au rapport, groupés par les objets DataSet.

Pour lier un dataset à un rapport

  1. Dans la fenêtre Données du rapport du Concepteur de rapports, cliquez sur Nouveau, puis sélectionnez Dataset.

  2. Dans la zone de liste Source de données, sélectionnez l'objet DataSet que vous avez créé. Pour créer un nouvel objet DataSet, cliquez sur Nouveau puis suivez les instructions de l'Assistant Configuration de source de données fourni par Visual Studio. Si vous avez créé un objet métier, sélectionnez global pour accéder à l'objet métier.

  3. Dans la zone de liste Datasets disponibles, sélectionnez les données que vous souhaitez lier. La zone de liste affiche les objets DataTable ou objets métier disponibles.

  4. Dans la zone Nom, spécifiez un nom pour ce dataset, puis cliquez sur OK.

Si vous modifiez ultérieurement les schémas DataSet après la définition du rapport, vous devez mettre à jour les liaisons de données dans le rapport et le contrôle. Pour plus d'informations, consultez Mise à jour et reliaison des références de source de données (Concepteur de rapports Visual Studio).

Vous pouvez avoir n'importe quel nombre de datasets dans votre projet. Pour afficher la liste des datasets actuellement utilisés par un rapport, sélectionnez Données du rapport dans le menu Afficher. Pour afficher le rapport et ses données dans votre application, vous devez générer ou déployer l'application afin de vérifier que le rapport contient les données attendues. Pour plus d'informations sur la configuration du contrôle et la définition de la mise en page du rapport, consultez Configuration de ReportViewer pour le traitement local et Création de fichiers de définition de rapport client (.rdlc).

Pour démarrer immédiatement, utilisez les procédures pas à pas suivantes pour apprendre comment ajouter chaque type de source de données à un projet :

Définition de sources de données pour les contrôles de serveur Web ReportViewer

Les contrôles de sources de données fournissent la prise en charge pour l'abstraction de la couche d'accès aux données afin que les contrôles sur une page Web soient liés à une source de données, qui à son tour est liée aux données réelles. Cela vous permet de changer facilement la source de données sans devoir relier chaque contrôle à chaque élément de données.

Lors de la conception d'une page Web, la section Données dans la boîte à outils répertorie plusieurs contrôles de sources de données tels que SqlDataSource et XmlDataSource. Certains contrôles de source de données assurent la prise en charge de la mémoire de pages dans des pages Web et d'autres utilisent des données partagées. Les rapports n'utilisant pas la mémoire de pages, il est préférable qu'un contrôle de serveur Web ReportViewer utilise le contrôle ObjectDataSource. Ce contrôle fournit une passerelle entre les objets mis en mémoire cache (collections d'objets DataTable ou d'objets métier) et le rapport. Lorsque vous ajoutez un contrôle ReportViewer dans une page Web, un contrôle ObjectDataSource est automatiquement ajouté et configuré.

Voir aussi

Référence

ReportViewer.Drillthrough

LocalReport.SubreportProcessing

ReportViewer.Drillthrough

LocalReport.SubreportProcessing

Concepts

Configuration de ReportViewer pour un traitement distant

Mise à jour et reliaison des références de source de données (Concepteur de rapports Visual Studio)

Autres ressources

TableAdapter Overview

Exemples et procédures pas à pas