Anleitung: Verwenden einer Geschäftsobjekt-Datenquelle mit dem ReportViewer-Windows Forms-Steuerelement im lokalen Verarbeitungsmodus

In dieser exemplarischen Vorgehensweise wird die Verwendung einer Objektdatenquelle mithilfe von Geschäftsobjekten in einem Bericht in einer Windows Forms-Anwendung veranschaulicht, die mit Microsoft Visual Studio erstellt wurde.Weitere Informationen zu Geschäftsobjekten und Objektdatenquellen finden Sie unter Binding to Business Objects.

Führen Sie die folgenden Schritte aus, um einem Windows Forms-Anwendungsprojekt einen Bericht hinzuzufügen.Bei diesem Beispiel erstellen Sie die Anwendung in Microsoft Visual C#.

Erstellen eines neuen Windows Forms-Anwendungsprojekts

  1. Zeigen Sie im Menü Datei auf Neu, und wählen Sie Projekt aus.

  2. Wählen Sie im Dialogfeld Neues Projekt im Bereich Installierte Vorlagen den Eintrag "Visual C#" aus, und wählen Sie dann die Vorlage Windows Forms-Anwendung aus.Der Knoten C# kann sich unter Andere Sprachen befinden. Dies hängt von den Starteinstellungen in Visual Studio ab.

  3. Geben Sie BusinessObject als Projektnamen ein, und klicken Sie auf OK.

Erstellen von als Datenquelle zu verwendenden Geschäftsobjekten

  1. Wählen Sie im Menü Projekt die Option Neues Element hinzufügen aus.

  2. Wählen Sie im Dialogfeld Neues Element hinzufügen die Option Klasse aus, geben Sie BusinessObjects.cs als Dateinamen ein, und klicken Sie dann auf Hinzufügen.

    Die neue Datei wird dem Projekt hinzugefügt und automatisch in Visual Studio geöffnet.

  3. Ersetzen Sie den Standardcode für BusinessObjects.cs durch den folgenden Code:

    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. Wählen Sie im Menü Projekt die Option Projektmappe erstellen aus.Dadurch wird eine Assembly für das Objekt erstellt, das Sie später als Datenquelle für den Bericht verwenden.

Hinzufügen eines Berichts zum Projekt mit dem Berichts-Assistenten

  1. Wählen Sie im Menü Projekt die Option Neues Element hinzufügen aus.

  2. Wählen Sie im Dialogfeld Neues Element hinzufügen die Option Berichts-Assistent aus.Geben Sie einen Namen für den Bericht ein, und klicken Sie auf Hinzufügen.

    Dadurch wird der Berichts-Assistent mit dem Assistenten zum Konfigurieren von Datenquellen gestartet.

  3. Wählen Sie auf der Seite Einen Datenquellentyp auswählen die Option Objekt aus, und klicken Sie dann auf Weiter.

  4. Erweitern Sie auf der Seite Datenobjekte auswählen die Klassenhierarchie unter BusinessObjects, bis Sie Product in der Liste sehen.Wählen Sie Product aus, und klicken Sie auf Fertig stellen.

    Jetzt kehren Sie zum Berichts-Assistenten zurück.Beachten Sie, dass das neue Datenquellenobjekt Ihrem Projekt im Projektmappen-Explorer hinzugefügt wird.

  5. Überprüfen Sie auf der Seite Dataseteigenschaften im Feld Datenquelle, ob die Option global ausgewählt ist.

  6. Überprüfen Sie im Feld Verfügbare Datasets, ob Product ausgewählt ist.

  7. Klicken Sie auf Weiter.

  8. Führen Sie auf der Seite Felder anordnen folgende Schritte aus:

    1. Ziehen Sie Name von Verfügbare Felder in das Feld Zeilengruppen.

    2. Ziehen Sie Price von Verfügbare Felder in das Feld Werte.

  9. Klicken Sie zweimal auf Weiter, und klicken Sie dann auf Fertig stellen.

    Dadurch wird die RDLC-Datei erstellt und im Berichts-Designer geöffnet.Der von Ihnen erstellte Tablix wird auf der Entwurfsoberfläche angezeigt.

  10. Speichern Sie die RDLC-Datei.

Hinzufügen eines ReportViewer-Steuerelements zum Bericht

  1. Öffnen Sie das Windows Form im Projektmappen-Explorer in der Entwurfsansicht.Standardmäßig lautet der Formularname Form1.cs.

  2. Ziehen Sie das Symbol ReportViewer aus der Gruppe Berichterstellung der Toolbox auf das Formular.

  3. Öffnen Sie im ReportViewer-Steuerelement den Smarttagbereich, indem Sie auf das Smarttagsymbol in der rechten oberen Ecke klicken.

  4. Wählen Sie in der Liste Bericht auswählen den soeben entworfenen Bericht aus.Standardmäßig lautet der Name Report1.rdlc.Beachten Sie, dass automatisch ein BindingSource-Objekt mit dem Namen ProductBindingSource für jede Objektdatenquelle erstellt wird, die im Bericht verwendet wird.

  5. Wählen Sie im geöffneten Smarttagbereich die Option In übergeordnetem Container andocken aus.

Angeben von Datenquelleninstanzen für das BindingSource-Objekt

  1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Form1.cs, und wählen Sie Code anzeigen aus.

  2. Fügen Sie in der Datei Form1.cs in der partiellen Klassendefinition als erste Zeile vor dem Konstruktor den folgenden Code hinzu.

    // Instantiate the Merchant class.
    private Merchant m_merchant = new Merchant();
    
  3. Fügen Sie in der Form1_Load()-Methode den folgenden Code als erste Zeile vor dem RefreshReport-Aufruf hinzu:

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

Ausführen der Anwendung

  • Drücken Sie F5, um die Anwendung auszuführen und den Bericht anzuzeigen.

Siehe auch

Referenz

ReportViewer.Drillthrough

LocalReport.SubreportProcessing

ReportViewer.Drillthrough

LocalReport.SubreportProcessing

Konzepte

Verwenden des Smarttagbereichs ReportViewer-Aufgaben

Weitere Ressourcen

Beispiele und Anleitungen