Partager via


Procédure pas à pas : utilisation d'une source de données de base de données avec le contrôle Windows Forms ReportViewer en mode de traitement local

Cette procédure pas à pas montre comment créer un rapport dans un projet d'application Windows Microsoft Visual Studio 2008 et ajouter un contrôle ReportViewer à un Windows Form afin que les utilisateurs de l'application puissent visualiser le rapport.

Configuration requise

Pour suivre cette procédure pas à pas, vous devez avoir accès à l'exemple de base de données AdventureWorks. Pour plus d'informations, consultez Procédure pas à pas : installation de la base de données AdventureWorks.

Procédez comme suit pour ajouter un rapport à un projet d'application Windows Visual Studio. Pour cet exemple, vous créez l'application en Microsoft Visual Basic.

Création d'un projet d'application Windows

  1. Ouvrez Visual Studio 2008. Dans le menu Fichier, pointez sur Nouveau, puis sélectionnez Projet.

  2. Dans le volet Types de projets, choisissez Visual Basic.

  3. Dans le volet Modèles, choisissez Application Windows pour créer une application Microsoft Windows.

  4. Dans la zone Nom, tapez le nom du projet : Procédure_pas_à_pas_Rapport.

  5. Dans la zone Emplacement, entrez le répertoire dans lequel vous désirez enregistrer votre projet ou bien cliquez sur Parcourir pour naviguer jusqu'à celui-ci. Le Concepteur Windows Forms s'ouvre et affiche le formulaire Form1.vb du projet que vous avez créé.

Définition d'une connexion de source de données et de DataTable

  1. Dans le menu Projet, sélectionnez Ajouter un nouvel élément.

  2. Dans la boîte de dialogue Ajouter un nouvel élément, sélectionnez Dataset.

  3. Entrez un nom pour le dataset, puis cliquez sur Ajouter. Un nouveau fichier de schéma XML est ajouté au projet et le Concepteur de DataSet s'ouvre. Le nom par défaut est DataSet1.xsd.

  4. En mode Concepteur de DataSet, ouvrez la boîte à outils et faites glisser un TableAdapter vers la zone de conception de dataset. Cette opération ouvre l'Assistant Configuration de TableAdapter.

  5. Dans la page Choisir votre connexion de données, cliquez sur Nouvelle connexion.

  6. Dans la boîte de dialogue Source de données, sélectionnez Microsoft SQL Server. Dans la boîte de dialogue Nom du serveur, entrez le nom du serveur qui héberge AdventureWorks. Sélectionnez AdventureWorks dans la liste déroulante de bases de données, puis cliquez sur OK pour passer à la page suivante de l'Assistant.

  7. Dans la page Enregistrer la chaîne de connexion dans le fichier de configuration de l'application, tapez un nom pour la chaîne de connexion ou acceptez la valeur par défaut AdventureWorksConnectionString. Cliquez sur Suivant.

  8. Dans la page Choisir le type de commande, sélectionnez Utiliser des instructions SQL. Vérifiez que les autres cases d'option ne sont pas sélectionnées.

  9. Dans la page Entrez une instruction SQL, entrez la requête Transact-SQL suivante pour récupérer des données de la base de données AdventureWorks, puis cliquez sur Terminer. Vous pouvez également cliquer sur le bouton Générateur de requêtes et utiliser le générateur de requêtes pour créer la requête, puis la vérifier à l'aide du bouton Exécuter la requête.

    SELECT d.name as Dept, s.Name as Shift, e.EmployeeID as EmployeeID
    FROM (HumanResources.Department d
    INNER JOIN HumanResources.EmployeeDepartmentHistory e
        ON d.DepartmentID = e.DepartmentID)
    INNER JOIN HumanResources.Shift s
        ON e.ShiftID = s.ShiftID
    

    Si la requête ne retourne pas les donnés prévues, vous utilisez peut-être une ancienne version d'AdventureWorks. Pour plus d'informations sur l'installation de la version SQL Server 2005 d'Adventureworks, consultez Procédure pas à pas : installation de la base de données AdventureWorks.

  10. Dans la page Choisir les méthodes à générer, acceptez les valeurs par défaut Remplir un DataTable avec Nom de la méthode : Fill et Retourner un DataTable avec Nom de la méthode : GetData. Cliquez sur Suivant.

  11. Dans la page Résultats de l'Assistant, cliquez sur Terminer.

  12. La page du Concepteur de DataSet doit afficher DataTable1 avec les colonnes résultant de la requête. Dans le menu Données, choisissez Afficher les sources de données, puis développez le nœud DataTable1 pour voir ces colonnes. La fenêtre Sources de données et les champs Dept, Shift et EmployeeID permettent de lier les données au rapport à l'étape suivante.

Conception du rapport

  1. Dans le menu Projet, sélectionnez Ajouter un nouvel élément.

  2. Dans la boîte de dialogue Ajouter un nouvel élément, cliquez sur Rapport.

  3. Entrez un nom pour le fichier de rapport. Par défaut, le nom du rapport est Report1.rdlc. Cliquez sur Ajouter. Le Concepteur de rapports s'ouvre et affiche la surface en pointillé qui représente la page de rapport.

  4. Ouvrez la boîte à outils. Cliquez sur une zone de texte, puis sur le formulaire.

  5. Entrez un titre de rapport dans la zone de texte : # of Employees per Shift per Dept.

  6. Dans la boîte à outils, faites glisser un élément de rapport Matrice sur le rapport sous la zone de texte.

  7. Dans la fenêtre Sources de données, développez DataTable1 pour afficher les colonnes Dept, Shift et EmployeeID. Faites glisser le champ Dept dans la zone de texte Rows dans la première colonne de la deuxième ligne de la matrice.

  8. Faites glisser le champ Shift dans la zone de texte Columns dans la deuxième colonne de la première ligne de la matrice. La zone de texte étant sélectionnée, attribuez à la propriété TextAlign la valeur Right. Cliquez sur l'icône B dans la barre d'outils Formatage du rapport pour utiliser les caractères gras.

  9. Sélectionnez la région de données de matrice en cliquant n'importe où dans la matrice. Puis, cliquez avec le bouton droit et sélectionnez la matrice par son nom (la valeur par défaut est matrix1). Un contour apparaît autour de l'élément de rapport de matrice. Cliquez avec le bouton droit sur le contour et sélectionnez Propriétés. Vérifiez que le titre de la boîte de dialogue qui s'ouvre est Propriétés de la matrice.

  10. Cliquez sur l'onglet Groupes. Dans la section Colonnes, cliquez sur Modifier .

  11. Dans la boîte de dialogue Regroupement et tri cliquez sur l'ongletTri.

  12. Cliquez dans la première zone sous Expression pour activer la zone de texte, puis cliquez sur la flèche de la liste déroulante et sélectionnez =Fields!Dept.Value. Cette procédure garantit que les données de rapport seront triées par nom de service.

  13. À partir de la fenêtre Sources de données faites glisser le champ EmployeeID dans la zone de texte Data dans la deuxième colonne de la deuxième ligne de la matrice. Cliquez avec le bouton droit sur cette zone de texte et sélectionnez Propriétés.

  14. Dans la fenêtre Propriétés sous l'onglet Général, cliquez sur le bouton (fx) de l'expression pour appeler l'éditeur d'expressions.

  15. Modifiez la fonction d'agrégation Sum par défaut et remplacez-la par Count. Vous pouvez appeler l'éditeur d'expressions en cliquant avec le bouton droit sur la zone de texte, puis en choisissant Propriétés. L'expression devrait indiquer les informations suivantes :

    =Count(Fields!EmployeeID.Value)
    

Ajout d'un contrôle ReportViewer à l'application

  1. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur Form1.vb et choisissez Afficher le mode Design pour ouvrir votre formulaire en mode Design.

  2. Dans la fenêtre Propriétés du formulaire, cliquez sur le signe + pour développer la propriété Size. Affectez la valeur 700 à la propriété Height (hauteur) du formulaire.

  3. Dans la section Données de la boîte à outils Visual Studio, cliquez sur l'icône ReportViewer puis sur le formulaire. Ajustez comme vous le souhaitez la largeur du formulaire et celle du contrôle ReportViewer.

  4. Ouvrez le panneau des balises actives du contrôle ReportViewer en cliquant sur le triangle dans l'angle supérieur droit. Cliquez sur la liste déroulante Choisir un rapport, puis sélectionnez Report1.rdlc. Lorsque vous sélectionnez un rapport, des instances des sources de données utilisées dans le rapport sont automatiquement créées. Du code est généré pour instancier un DataSet (le conteneur ADO.NET d'un DataTable), un composant TableAdapter et un objet BindingSource correspondant à chaque source de données utilisée dans le rapport.

  5. Dans le panneau des balises actives, choisissez Ancrer dans le conteneur parent.

Génération et exécution de l'application

  1. Dans le menu Générer, cliquez sur Générer Procédure_pas_à_pas_Rapport. Dans le cadre du processus de génération, le rapport est compilé. Certaines erreurs (telles qu'une erreur de syntaxe dans une expression utilisée dans le rapport) sont signalées en les ajoutant à la Liste des tâches.

  2. Appuyez sur la touche F5pour exécuter l'application et afficher le rapport dans le formulaire.

Voir aussi

Référence

Microsoft.Reporting.WinForms.ReportViewer.Drillthrough
Microsoft.Reporting.WinForms.LocalReport.SubreportProcessing
Microsoft.Reporting.WebForms.ReportViewer.Drillthrough
Microsoft.Reporting.WebForms.LocalReport.SubreportProcessing

Concepts

Utilisation du panneau des balises actives des tâches ReportViewer

Autres ressources

Exemples et procédures pas à pas