Partager via


Procédure pas à pas : création d'un rapport ReportViewer

Cette procédure pas à pas montre comment créer un rapport sous forme de tableau simple dans un projet d'application Windows Forms Visual Studio reposant sur l'exemple de base de données AdventureWorks2008. Vous allez ajouter un rapport à votre projet à l'aide de l'Assistant Rapport et ajouter un contrôle Windows Forms ReportViewer à un formulaire Windows, afin que les utilisateurs de l'application puissent visualiser le rapport.

Pour plus d'informations sur la conception de rapports à l'aide du Concepteur de rapports Visual Studio, consultez Concepteur de rapports (Visual Studio).

Configuration préalable requise

Pour suivre cette procédure pas à pas, vous devez avoir accès à l'exemple de base de données AdventureWorks2008. La requête utilisée dans cette procédure pas à pas ne fonctionnera pas si vous utilisez une ancienne version d'AdventureWorks. Pour plus d'informations sur la façon d'obtenir l'exemple de base de données AdventureWorks2008, consultez Procédure pas à pas : installation de la base de données AdventureWorks.

Cette procédure pas à pas suppose que vous maîtrisiez les requêtes Transaction-SQL et les objets DataSet et DataTable ADO.NET.

Pour créer un projet d'application Windows Forms

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

  2. Dans le volet Modèles installés, développez Autres langages, puis sélectionnez Visual Basic.

  3. Choisissez Application Windows Forms.

  4. Dans la zone Nom, tapez SimpleReport.

  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.

  6. Cliquez sur OK.

    Le Concepteur Windows Forms s'ouvre et affiche le formulaire Form1 du projet que vous avez créé.

  7. Cliquez sur le formulaire. Dans le menu Affichage, choisissez Fenêtre Propriétés. Développez la propriété Size pour afficher Width et Height. Affectez à Width la valeur 500 pixels.

Pour définir un jeu de données et une table de données

  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 DataSet. Tapez un nom pour le dataset, puis cliquez sur Ajouter. Le nom par défaut est DataSet1.xsd.

    Un nouveau fichier XSD est ajouté au projet et le Concepteur de Dataset s'ouvre.

  3. Depuis la Boîte à outils dans le Concepteur de Dataset, faites glisser un contrôle TableAdapter sur l'aire de conception.

    L'Assistant Configuration de TableAdapter démarre.

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

  5. Si vous créez une source de données dans Visual Studio pour la première fois, la page Choisir la source de données s'affiche. Dans la zone Source de données, sélectionnez Microsoft SQL Server.

  6. Dans la boîte de dialogue Ajouter une connexion, procédez comme suit :

    • Dans la zone Nom du serveur, entrez le nom du serveur qui héberge la base de données AdventureWorks2008.

      L'instance SQL Server Express par défaut est (local)\sqlexpress.

    • Dans la section Connexion au serveur, sélectionnez l'option qui vous permet d'accéder aux données. Utiliser l'authentification Windows est la valeur par défaut.

    • Dans la liste déroulante Sélectionner ou entrer un nom de base de données, cliquez sur AdventureWorks2008.

    • Cliquez sur OK pour revenir dans l'Assistant, puis cliquez sur Suivant.

  7. Si vous avez spécifié Utiliser l'authentification SQL Server à l'étape précédente, sélectionnez l'option indiquant s'il convient d'inclure les données sensibles dans la chaîne ou de définir les informations dans votre code d'application.

  8. 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 AdventureWorks2008ConnectionString. Cliquez sur Suivant.

  9. Dans la page Choisissez un type de commande, sélectionnez Utiliser des instructions SQL, puis cliquez sur Suivant.

  10. Dans la page Entrez une instruction SQL, entrez la requête Transact-SQL suivante pour récupérer les données des ventes de la base de données AdventureWorks2008, puis cliquez sur Terminer :

    --SET DATEFORMAT mdy
    
    SELECT      
       PC.Name AS Category, PS.Name AS Subcategory, 
       DATEPART(yy, SOH.OrderDate) AS Year, 
       'Q' + DATENAME(qq, SOH.OrderDate) AS Qtr, 
       SUM(DET.UnitPrice * DET.OrderQty) AS Sales
    FROM Production.ProductSubcategory PS INNER JOIN
       Sales.SalesOrderHeader SOH INNER JOIN
          Sales.SalesOrderDetail DET ON SOH.SalesOrderID = DET.SalesOrderID INNER JOIN
          Production.Product P ON DET.ProductID = P.ProductID 
          ON PS.ProductSubcategoryID = P.ProductSubcategoryID INNER JOIN
       Production.ProductCategory PC ON PS.ProductCategoryID = PC.ProductCategoryID
    WHERE (SOH.OrderDate BETWEEN ('20020101') AND ('20031231'))
    GROUP BY DATEPART(yy, SOH.OrderDate), PC.Name, PS.Name, 
       'Q' + DATENAME(qq, SOH.OrderDate), PS.ProductSubcategoryID
    

    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 une requête et la valider à l'aide du bouton Exécuter la requête.

  11. Cliquez sur Terminer.

    Le Concepteur de Dataset affiche désormais la définition DataTable pour DataTable1 avec les champs nommés à partir des colonnes et des alias de colonnes de la requête (Category, Subcategory, Year, Qtr et Sales). Vous devez utiliser ces champs lorsque vous liez des données à votre rapport.

    Notes

    Si vous devez modifier les champs de la table de données, cliquez avec le bouton droit sur l'en-tête DataTable1 ou DataTable1TableAdapter dans la page Concepteur de Dataset. Choisissez Configurer, l'Assistant Configuration de TableAdapter redémarre.

  12. Enregistrez le fichier DataSet1.

Pour ajouter un nouveau fichier de définition de rapport à l'aide de l'Assistant 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, choisissez Assistant Rapport.

  3. Dans la zone Nom, tapez Sales Orders.rdlc, puis cliquez sur Ajouter.

    Une aire de conception graphique s'ouvre derrière la boîte de dialogue.

  4. Dans la page Propriétés du dataset, dans la liste déroulante Source de données, sélectionnez le DataSet que vous avez créé.

    La zone Datasets disponibles est automatiquement mise à jour avec le DataTable que vous avez créé.

  5. Cliquez sur Suivant.

  6. Dans la page Organiser les champs, procédez comme suit :

    1. Faites glisser Category depuis les champs disponibles vers la zone Groupes de lignes.

    2. Faites glisser Subcategory depuis les champs disponibles vers la zone Groupes de lignes, en dessous de Category.

    3. Faites glisser Year depuis les champs disponibles vers la zone Groupes de colonnes.

    4. Faites glisser Qtr depuis les champs disponibles vers la zone Groupes de colonnes, en dessous de Year.

    5. Faites glisser Sales depuis les champs disponibles vers la zone Valeurs.

  7. Cliquez sur Suivant à deux reprises, puis sur Terminer.

    Le fichier .rdlc est créé et s'ouvre dans le Concepteur de rapports. Le tableau matriciel que vous avez conçu est à présent affiché dans l'aire de conception.

Pour ajouter un titre au rapport

  1. Cliquez sur le tableau matriciel sur l'aire du concepteur pour que les poignées de ligne et de colonne apparaissent au-dessus et en regard du tableau.

    Notes

    Les poignées sont des carrés gris qui apparaissent au-dessus et en regard du tableau matriciel. Les poignées vous permettent d'effectuer différentes actions sur les groupes de colonnes, les groupes de lignes et le tableau matriciel lui-même. Les poignées qui s'étendent le long de la partie supérieure du tableau matriciel sont des poignées de colonne. Les poignées qui s'étendent le long du bord du tableau matriciel sont des poignées de ligne. La poignée qui se trouve à l'intersection des poignées de colonne et de ligne s'appelle la poignée d'angle.

  2. Cliquez sur la poignée d'angle pour sélectionner la totalité du tableau matriciel afin d'afficher la flèche croisée.

  3. Déplacez le tableau matriciel sur l'aire de conception en faisant glisser la flèche croisée.

  4. À partir de la Boîte à outils, faites glisser un élément Zone de texte dans la zone située au-dessus du tableau matriciel dans l'aire de conception, puis positionnez-le en faisant glisser la flèche croisée.

  5. Avec la zone de texte sélectionnée, tapez Company Sales. Si nécessaire, faites glisser la bordure de la zone de texte pour la développer.

  6. Avec la zone de texte sélectionnée, cliquez sur le bouton Gras dans la barre d'outils Formatage du rapport, puis sélectionnez 16 pt dans la zone Taille de police.

  7. Avec la zone de texte sélectionnée, cliquez sur le bouton Couleur de premier plan dans la barre d'outils Formatage du rapport.

  8. Dans la boîte de dialogue Choisir une couleur, sélectionnez la couleur Bleu nuit et cliquez sur OK.

Pour ajouter le contrôle ReportViewer à votre formulaire

  1. Dans l'Explorateur de solutions, cliquez sur Form1.vb.

  2. Dans le menu Affichage, choisissez Concepteur.

  3. Dans la section Création de rapports de la boîte à outils, faites glisser le contrôle ReportViewer vers le formulaire.

  4. Ouvrez le panneau des balises actives du contrôle ReportViewer1 en cliquant sur le glyphe de balise active dans le coin supérieur droit. Cliquez sur la liste déroulante Choisir un rapport, puis sélectionnez SimpleReport.Sales Orders.rdlc.

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

    Dans la partie restante de cette procédure pas à pas, vous pouvez créer votre application et afficher le rapport dans le formulaire à tout moment. Si vous souhaitez voir de quelle manière les modifications incrémentielles de votre conception de rapport affecte le rapport final, créez et affichez le rapport en tant que dernière étape de chacune des procédures suivantes.

  6. (Facultatif) Appuyez sur la touche F5 pour créer votre application et visualiser le rapport dans le formulaire.

Pour mettre en forme un champ de devise

  1. Dans la fenêtre du Concepteur de rapports pour le fichier Sales Orders.rdlc, cliquez avec le bouton droit sur la cellule à l'angle supérieur gauche avec la valeur [Sum(Sales)], puis cliquez sur Propriétés de la zone de texte.

  2. Sélectionnez l'onglet Nombre.

  3. Dans la liste Catégorie, sélectionnez Devise.

  4. Dans la liste Symbole, sélectionnez Anglais (Royaume-Uni).

  5. Cliquez sur OK pour fermer la boîte de dialogue.

  6. Effectuez la même procédure pour toutes les autres cellules avec la valeur [Sum(Sales)].

  7. (Facultatif) Appuyez sur la touche F5 pour créer votre application et visualiser le rapport. Observez la modification du format des nombres. Notez qu'aucune conversion de devise n'est effectuée, seul le format des nombres est modifié.

Pour mettre en forme la disposition du tableau matriciel

  1. Dans la fenêtre du Concepteur de rapports pour le fichier Sales Orders.rdlc, faites glisser le curseur pour sélectionner les deux cellules vides à l'angle supérieur gauche du tableau matriciel.

  2. Cliquez avec le bouton droit sur les cellules sélectionnées, puis sélectionnez Fusionner les cellules.

  3. Cliquez avec le bouton droit dans la cellule fusionnée et sélectionnez Propriétés de la zone de texte.

  4. Cliquez sur l'onglet Bordure. Dans la zone Aperçu, cliquez sur les boutons bascule de bordure pour supprimer les bordures supérieure et gauche.

  5. Cliquez sur OK.

  6. Cliquez sur le tableau matriciel pour afficher ses poignées. Pour la colonne avec l'en-tête Subcategory, développez la largeur de la colonne en faisant glisser le côté droit de la poignée de colonne. Vous pouvez ainsi empêcher le texte de l'en-tête d'être renvoyé à la ligne.

  7. Appuyez sur la touche F5 pour créer votre application et visualiser le rapport.

Voir aussi

Référence

ReportViewer.Drillthrough

LocalReport.SubreportProcessing

ReportViewer.Drillthrough

LocalReport.SubreportProcessing

Concepts

Utilisation du panneau des balises actives des tâches ReportViewer

Autres ressources

Designing and Implementing Reports Using Report Designer (Reporting Services)

Exemples et procédures pas à pas