Partager via


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

Cette procédure pas à pas montre comment utiliser une source de données objet à l'aide d'objets métier dans un rapport au sein d'une application Windows Microsoft Visual Studio 2008. Pour plus d'informations sur les objets métier et les sources de données objet, consultez Liaison à des objets métier.

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

Création d'un projet d'application Windows

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

  2. Dans la boîte de dialogue Nouveau projet, sous Visual C#, choisissez le modèle Application Windows.

  3. Tapez BusinessObject comme nom de projet, puis cliquez sur OK.

Création d'objets métier à utiliser comme source 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, choisissez Classe, tapez BusinessObjects.cs comme nom de fichier, puis cliquez sur Ajouter. Le nouveau fichier est ajouté au projet et est automatiquement ouvert dans Visual Studio.

  3. 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;
        }
    }
    
  4. Dans le menu Projet, sélectionnez Générer la solution. Cette opération permet de créer un assembly pour l'objet, que vous pourrez utiliser ultérieurement comme source de données du rapport.

Ajout d'un rapport au projet

  1. Assurez-vous que le projet ou un élément de projet est sélectionné dans l'Explorateur de solutions.

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

  3. 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 est automatiquement ouvert dans le Générateur de rapports. Par défaut, le nom du rapport est Report1.rdlc.

Utilisation de l'Assistant Configuration de source de données pour créer une source de données

  1. Assurez-vous que le projet ou un élément de projet est sélectionné dans l'Explorateur de solutions.

  2. Dans le menu Données, sélectionnez Ajouter une nouvelle source de données. Cette opération lance l'Assistant Configuration de source de données.

  3. Dans la page Choisir un type de source de données, sélectionnez Objet puis cliquez sur Suivant.

  4. L'Assistant Configuration de source de données affiche une liste de classes existantes dans le projet. Développez la hiérarchie des classes sous BusinessObjects jusqu'à ce que Product apparaisse dans la liste. Sélectionnez Product et cliquez sur Suivant,****puis sur Terminer.

    À la fermeture de l'Assistant, le nouvel objet source de données apparaît dans la fenêtre Sources de données.

Conception du rapport

  1. 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 apparaît dans la fenêtre de création du rapport. L'arrière-plan en pointillés représente les dimensions du corps du rapport et vous pouvez modifier la taille ou la position du contrôle Table.

  2. Dans la fenêtre Sources de données, faites glisser le champ Name de la source de données Product à 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.

    NoteRemarque

    Si la fenêtre Sources de données n'est pas visible, sélectionnez Afficher les sources de données dans le menu Données.

  3. Faites glisser le champ Price sur la ligne de détails de la seconde colonne, afin qu'il soit placé en regard du champ Name. Éventuellement, 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.

  4. Supprimez la troisième colonne inutilisée. Cliquez sur la troisième colonne, puis sur la barre d'en-tête, et appuyez sur la touche Supprimer.

  5. 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 Produits comme nom de rapport.

  6. (Facultatif) Vous pouvez également appliquer une taille de police et un style de police au texte pour faire ressortir le titre.

Ajout d'un contrôle ReportViewer au rapport

  1. Sélectionnez le formulaire d'application Windows automatiquement généré en mode création. Par défaut, le nom du formulaire est Form1.cs.

  2. Ouvrez la boîte à outils. Dans la boîte à outils, développez le nœud Données, puis faites glisser l'icône ReportViewerdans le formulaire. Développez le formulaire puis repositionnez le ReportViewer à votre guise.

  3. Sélectionnez le contrôle ReportViewer, puis ouvrez le panneau des balises actives en cliquant sur le triangle dans l'angle supérieur droit. Cliquez sur la liste déroulante Choisir un rapport puis sélectionnez le rapport que vous venez de concevoir. Par défaut, le nom du rapport est Report1.rdlc. Un objet BindingSource est automatiquement créé pour chaque source de données Objet utilisée dans le rapport.

Indication des instances de source de données à l'objet BindingSource

  1. Cliquez avec le bouton droit sur le formulaire Visual Studio puis choisissez Afficher le code dans le menu contextuel.

  2. Dans Form1.cs, ajoutez le code suivant au début de la classe. Vous pouvez utiliser la première ligne après l'instruction public partial class Form1 : Form {, mais avant le constructeur.

    // Instantiate the Merchant class.
    private Merchant m_merchant = new Merchant();
    
  3. Dans la méthode Form1_Load(), ajoutez le code suivant comme première ligne, avant l'appel RefreshReport :

    // Bind the Product collection to the DataSource.
    this.ProductBindingSource.DataSource = m_merchant.GetProducts();
    

Exécution de l'application

  • Appuyez sur la touche F5 pour exécuter l'application et visualiser 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

Autres ressources

Exemples et procédures pas à pas