Procédure pas à pas : Utiliser une source de données d'objet d'entreprise avec le contrôle de serveur Web ReportViewer en mode de traitement local
Cette procédure pas à pas montre comment utiliser une source de données d'objet dans un rapport, dans une application Microsoft Visual Studio 2008 ASP.NET. Pour plus d'informations sur les objets métier et les sources de données d'objet, consultez Liaison à des objets métier.
Pour ajouter un rapport à un projet de site Web Visual Studio ASP.NET, procédez comme suit. Pour cet exemple, vous allez créer l'application dans Microsoft Visual C#.
Créez un nouveau projet de site Web ASP.NET
Dans le menu Fichier, pointez sur Nouveau, puis sélectionnez Site Web.
Dans la boîte de dialogue Nouveau site Web, choisissez Visual C# dans la liste déroulante Langage, puis choisissez le modèle de site Web ASP.NET.
Dans Emplacement, choisissez HTTP et tapez l'URL du site Web. La valeur par défaut est https://localhost/WebSite. Cliquez sur OK. La page Web par défaut s'ouvre en mode Code.
Créer des objets d'entreprise à utiliser en tant que source de données.
Sélectionnez le site Web du projet dans l'Explorateur de solutions (son adresse commence par http://). Cliquez avec le bouton droit et choisissez Ajouter un nouvel élément.
Dans la boîte de dialogue Ajouter un nouvel élément, choisissez Classe, tapez BusinessObjects.cs pour le nom du fichier, puis cliquez sur Ajouter.
Lorsqu'un message s'affiche pour vous demander si vous souhaitez placer la classe dans le dossier 'App_Code' choisissez Oui. Le nouveau fichier est ajouté au projet et automatiquement ouvert dans Visual Studio.
Remplacez le code par défaut de BusinessObjects.cs par le code suivant :
using System; using System.Collections.Generic; // Define the Business Object "Product" with two public properties // of simple datatypes. public class Product { private string m_name; private int m_price; public Product(string name, int price) { m_name = name; m_price = price; } public string Name { get { return m_name; } } public int Price { get { return m_price; } } } // Define Business Object "Merchant" that provides a // GetProducts method that returns a collection of // Product objects. public class Merchant { private List<Product> m_products; public Merchant() { m_products = new List<Product>(); m_products.Add(new Product("Pen", 25)); m_products.Add(new Product("Pencil", 30)); m_products.Add(new Product("Notebook", 15)); } public List<Product> GetProducts() { return m_products; } }
Dans le menu Générer, sélectionnez Générer la solution. Cette opération crée un assembly pour l'objet et permet à l'objet d'entreprise Product d'apparaître dans la fenêtre Sources de données de sites Web après que vous ajoutez un rapport au projet.
Ajoutez un rapport au projet.
Assurez-vous que le site Web du projet ou un élément de projet est sélectionné dans l'Explorateur de solutions.
Cliquez avec le bouton droit sur le site Web du projet et sélectionnez Ajouter un nouvel élément.
Dans la boîte de dialogue Ajouter un nouvel élément, sélectionnez Rapport. Tapez un nom pour le rapport, puis cliquez sur Ajouter. Le rapport est ajouté au projet et automatiquement ouvert dans Générateur de rapports. Le nom par défaut du rapport est Report.rdlc.
Vérifiez la fenêtre Sources de données de sites Web
Cliquez sur l'onglet Report.rdlc[Design]. Dans le volet gauche, cliquez sur l'onglet Sources de données de sites Web. Si l'onglet Sources de données de sites Web n'est pas visible, dans le menu Données, sélectionnez Afficher les sources de données.
Vérifiez que l'objet Product et ses deux propriétés publiques, Name et Price, apparaissent dans une hiérarchie dans la fenêtre Sources de données de sites Web.
Concevez le rapport
Le rapport étant ouvert en mode Design, ouvrez la boîte à outils. Dans la boîte à outils, faites glisser un contrôle Table sur le rapport. Le contrôle Table s'ouvre dans une fenêtre Design à onglet.
Dans la fenêtre Sources de données de sites Web, faites glisser le champ Name de la source de données Product dans la première colonne de la ligne de détails du tableau. La ligne de détails est celle du milieu. Notez que la ligne d'en-tête se remplit automatiquement lorsque vous spécifiez la ligne de détails.
Faites glisser le champ Price sur la ligne de détails de la deuxième colonne, afin qu'il soit placé en regard du champ Name.
(Facultatif) Sélectionnez la ligne d'en-tête du tableau en cliquant sur l'icône d'en-tête à gauche du tableau et appliquez le style de police Gras.
Supprimez la colonne inutilisée. Cliquez sur la troisième colonne, puis sur la barre d'en-tête, et appuyez sur la touche Supprimer.
Pour ajouter un titre au rapport, ouvrez la boîte à outils, puis faites glisser un contrôle Textbox dans le rapport. Positionnez la zone de texte au-dessus du tableau. Tapez Products pour le nom du rapport.
(Facultatif) Vous pouvez également appliquer une taille de police et un style de police au texte pour faire ressortir le titre.
Ajoutez un contrôle ReportViewer à la page Web
Sélectionnez la page Web par défaut en mode Design en cliquant avec le bouton droit sur Default.aspx dans l'Explorateur de solutions, puis choisissez Concepteur de vues.
Ouvrez la boîte à outils. Dans la boîte à outils, développez le nœud Données et faites glisser l'icône ReportViewer sur la page Web.
Sélectionnez le contrôle ReportViewer, puis ouvrez le panneau de balises actives en cliquant sur le triangle dans le coin supérieur droit. Cliquez sur la liste déroulante Choisir un rapport, puis sélectionnez le rapport que vous venez de créer. Par défaut, le nom est c:\inetpub\wwwroot\WebSite\Report.rdlc. Notez qu'un contrôle ObjectDataSource apparaît immédiatement sous le contrôle ReportViewer, et qu'il est automatiquement défini pour récupérer le contenu de l'objet DataTable selon la configuration définie dans le composant TableAdapter de la table de données.
Exécutez l'application.
- Appuyez sur F5 pour une exécution avec débogage ou sur CTRL + F5 pour une exécution sans débogage, puis affichez le rapport.
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