Partager via


Procédure pas à pas : Utiliser une source de données de base de données avec le contrôle de serveur Web ReportViewer en mode de traitement local

Cette procédure pas à pas indique comment créer un rapport pour un site Web Microsoft Visual Studio 2008 ASP.NET et comment ajouter un contrôle ReportViewer à une page Web afin que les utilisateurs puissent afficher 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.

Vous devez également avoir accès à un serveur exécutant Microsoft Internet Information Services (IIS) version 5.0 ou ultérieure avec l'autorisation de créer une page Web ASP.NET.

Effectuez les étapes suivantes sur votre ordinateur pour utiliser des modèles Visual Studio 2008 pour créer une page Web ASP.NET avec un contrôle ReportViewer configuré pour afficher un rapport que vous créez. Pour cet exemple, vous créez l'application en Microsoft Visual Basic.

Créez un nouveau site Web.

  1. Dans le menu Fichier, pointez sur Nouveau, puis sélectionnez Site Web.

  2. Dans la boîte de dialogue Nouveau site Web, sélectionnez Site Web ASP.NET.

  3. Dans la liste Langage, choisissez Visual Basic, puis cliquez sur OK.

  4. Dans la zone Emplacement, choisissez HTTP si l'option n'est pas déjà sélectionnée, puis cliquez sur Parcourir pour ouvrir un nouveau dossier.

  5. Dans la boîte de dialogue Choisir un emplacement, cliquez sur Serveur IIS local et accédez au répertoire racine de votre site Web.

  6. Cliquez sur le bouton Créer une application Web pour créer un dossier et tapez un nom. Appuyez sur ENTRÉE.

  7. Cliquez sur Ouvrir.

  8. Cliquez sur OK.

    Le projet de site Web s'ouvre en affichant la page Web Default.aspx.

  9. Dans l'Explorateur de solutions, vérifiez que Default.aspx est sélectionné.

  10. Dans le menu Affichage, sélectionnez Concepteur.

    Vous êtes maintenant prêt à modifier la page par défaut de votre site Web.

Définissez une connexion de données et DataTable en ajoutant un DataSet.

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

  2. Dans la boîte de dialogue Ajouter un nouvel élément, cliquez sur DataSet. Cliquez sur Ajouter. Lorsqu'un message vous demande si vous souhaitez ajouter l'élément au dossier App_Code, cliquez sur Oui. Cette commande ajoute un fichier XSD DataSet1.xsd au projet, ouvre le Concepteur de DataSet et appelle l'Assistant Configuration de TableAdapter.

  3. Dans la page Choisir votre connexion de données, si vous avez installé AdventureWorks à l'aide de SQLExpress, il est possible que vous voyiez une connexion de données sqlexpress.AdventureWorks.dbo existante que vous pouvez sélectionner, avant de passer à l'étape 6. Sinon, cliquez sur Nouvelle connexion.

  4. Dans la boîte de dialogue Source de données, sélectionnez Microsoft SQL Server (Sql Client).

  5. Dans la boîte de dialogue Nom du serveur, entrez le nom du serveur où se trouve l'exemple de base de données AdventureWorks. Par exemple, le nom d'instance par défaut de SQL Server Express est (local)\sqlexpress. Après avoir entré le nom du serveur, sélectionnez AdventureWorks dans la liste déroulante de bases de données, puis cliquez sur OK.

  6. Cliquez sur Suivant.

  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 Sélectionner le type de commande, sélectionnez Utilisez 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, puis utilisez le Générateur de requêtes pour créer la requête et 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.

    Vous avez maintenant terminé la configuration d'ADO.NET DataTable en tant que source de données de votre rapport.

  12. Dans la page Concepteur de DataSet de Visual Studio, vous devriez voir le DataTable que vous avez ajouté (le nom par défaut est DataTable1), répertoriant les colonnes résultant de votre définition de requête. Dans le menu Données, vous pouvez sélectionner Aperçu des données, puis cliquer sur le bouton Aperçu pour vérifier les résultats de votre requête.

Concevez le 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, sélectionnez le modèle Rapport, entrez un nom pour le fichier de rapport, puis cliquez sur Ajouter. Cette procédure crée un fichier de définition de rapport (le nom par défaut est Report.rdlc), lance le Concepteur de rapports, puis affiche le volet Sources de données de sites Web.

  3. Ouvrez la boîte à outils. Cliquez sur une zone de texte, puis sur l'aire de conception de rapports.

  4. Entrez un titre de rapport dans la zone de texte : # of Employees per Shift per Dept. Développez la zone de texte si nécessaire.

  5. Dans la boîte à outils, faites glisser un élément de rapport Matrice sur le rapport sous la zone de texte. L'arrière-plan blanc en pointillés est la page de rapport. Pour ajuster la position de la matrice dans la page, cliquez dans le coin gauche pour la sélectionner, et faites glisser ou utilisez les touches de direction pour déplacer l'élément si nécessaire.

  6. Dans la fenêtre Sources de données de sites Web, développez le nœud DataTable1 jusqu'à ce les colonnes de votre requête s'affichent. Faites glisser le champ Dept dans la zone de texte Rows dans la première colonne de la deuxième ligne de la matrice.

  7. 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, dans la fenêtre Propriétés, attribuez à la propriété TextAlign la valeur Right. Cliquez dans la zone de texte pour activer la barre d'outils Formatage du rapport, puis cliquez sur le bouton Gras.

  8. Cliquez n'importe où dans la matrice pour la sélectionner. 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.

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

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

  11. Cliquez dans la première zone sous Expression pour activer la zone de texte. Dans la liste déroulante, choisissez =Fields!Dept.Value. Cette procédure garantit que les données de rapport seront triées par nom de service. Cliquez sur OK.

  12. Cliquez sur OK pour fermer la boîte de dialogue Propriétés de la matrice.

  13. À partir de la fenêtre Sources de données de sites Web 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 Expression.

  14. Modifiez la fonction d'agrégation Sum par défaut et remplacez-la par Count. Cliquez sur OK.

  15. Cliquez sur OK pour fermer la boîte de dialogue Propriétés de la zone de texte.

  16. Dans le menu Fichier, cliquez sur Enregistrer tout.

Ajoutez un contrôle ReportViewer à l'application.

  1. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur Default.aspx, puis sélectionnez Concepteur de vues.

  2. Ouvrez la fenêtre Boîte à outils. À partir du groupe Données, faites glisser un contrôle ReportViewer dans la page.

  3. S'il ne l'est pas déjà, ouvrez le panneau des balises actives Tâches ReportViewer en cliquant sur le triangle dans l'angle supérieur droit du contrôle ReportViewer sur la page Web. Dans la zone Choisir un rapport, sélectionnez le nom de fichier qualifié complet pour Report.rdlc.

    Lorsque vous sélectionnez un rapport, les instances de sources de données utilisées dans le rapport sont créées automatiquement. Un code est généré pour instancier chaque DataTable (et son conteneur DataSet) et un contrôle ObjectDataSource correspondant à chaque source de données employée dans le rapport. Le contrôle de source de données est configuré automatiquement.

NoteRemarque

Pour comprendre pourquoi ASP.NET utilise un contrôle ObjectDataSource et non un contrôle SqlDataSource, même si votre source de données sous-jacente pourrait être une base de données ou une autre banque de données fortement typée, consultez Création de sources de données pour un rapport.

Générez et exécutez l'application.

  1. Appuyez sur CTRL+F5 pour exécuter la page sans débogage ou sur F5 pour une exécution avec débogage.

    Au cours du processus de génération, le rapport est compilé et les éventuelles erreurs détectées (par exemple une erreur de syntaxe dans une expression utilisée dans le rapport) sont ajoutées à la liste des tâches.

    La page Web s'affiche dans le navigateur. Le contrôle ReportViewer affiche le rapport. Vous pouvez utiliser la barre d'outils pour naviguer dans le rapport, effectuer un zoom et exporter les données dans Excel.

  2. Fermez le navigateur.

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