Freigeben über


Exemplarische Vorgehensweise: Verwenden einer Datenbank-Datenquelle mit dem ReportViewer-Windows Forms-Steuerelement im lokalen Verarbeitungsmodus

In dieser Anleitung wird gezeigt, wie Sie einen Bericht in einem Windows-Anwendungsprojekt von Microsoft Visual Studio 2008 erstellen und einem Windows Form ein ReportViewer-Steuerelement hinzufügen, sodass der Bericht von Benutzern der Anwendung angezeigt werden kann.

Erforderliche Komponenten

Um diese Anleitung zu verwenden, müssen Sie Zugriff auf die AdventureWorks-Beispieldatenbank haben. Weitere Informationen finden Sie unter Exemplarische Vorgehensweise: Installieren der AdventureWorks-Datenbank.

Führen Sie die folgenden Schritte aus, um einem Windows-Anwendungsprojekt von Visual Studio einen Bericht hinzuzufügen. In diesem Beispiel erstellen Sie die Anwendung in Microsoft Visual Basic.

Erstellen eines neuen Windows-Anwendungsprojekts

  1. Öffnen Sie Visual Studio 2008. Zeigen Sie im Menü Datei auf Neu, und klicken Sie dann auf Projekt.

  2. Wählen Sie im Bereich Projekttypen die Option Visual Basic aus.

  3. Wählen Sie im Bereich Vorlagen die Option Windows-Anwendung aus, um eine Microsoft Windows-Anwendung zu erstellen.

  4. Geben Sie im Feld Name den Namen des Projekts ein: ReportWalkthrough.

  5. Geben Sie im Feld Speicherort das Verzeichnis ein, in dem das Projekt gespeichert werden soll, oder klicken Sie auf Durchsuchen, um zum Verzeichnis zu navigieren. Der Windows Forms-Designer wird geöffnet und zeigt Form1.vb des von Ihnen erstellten Projekts an.

Definieren einer Datenquellenverbindung und DataTable

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

  2. Klicken Sie im Dialogfeld Neues Element hinzufügen auf DataSet.

  3. Geben Sie einen Namen für das Dataset ein, und klicken Sie dann auf Hinzufügen. Hiermit wird dem Projekt eine neue XML-Schemadatei hinzugefügt und der DataSet-Designer geöffnet. Der Standardname ist DataSet1.xsd.

  4. Öffnen Sie im DataSet-Designermodus die Toolbox, und ziehen Sie ein TableAdapter-Element auf die DataSet-Entwurfsoberfläche. Dadurch wird der TableAdapter-Konfigurations-Assistent geöffnet.

  5. Klicken Sie auf der Seite Wählen Sie Ihre Datenverbindung aus auf Neue Verbindung.

  6. Wählen Sie im Dialogfeld Datenquelle die Option Microsoft SQL Server aus. Geben Sie im Dialogfeld Servername den Server ein, auf dem sich AdventureWorks befindet. Wählen Sie in der Datenbankdropdownliste AdventureWorks aus, und klicken Sie auf OK, um mit der nächsten Seite des Assistenten fortzufahren.

  7. Geben Sie auf der Seite Verbindungszeichenfolge in der Anwendungskonfigurationsdatei speichern den Namen der Verbindungszeichenfolge ein, oder akzeptieren Sie den Standardnamen AdventureWorksConnectionString. Klicken Sie auf Weiter.

  8. Wählen Sie auf der Seite Wählen Sie einen Befehlstyp aus die Option SQL-Anweisungen verwenden aus. Stellen Sie sicher, dass keine anderen Optionsfelder ausgewählt sind.

  9. Geben Sie auf der Seite SQL-Anweisung hier eingeben die folgende Transact-SQL-Abfrage zum Abrufen von Daten aus der AdventureWorks-Datenbank ein, und klicken Sie dann auf Fertig stellen. Sie können auch auf die Schaltfläche Abfrage-Generator klicken und die Abfrage mit dem Abfrage-Generator erstellen. Anschließend können Sie sie mit der Schaltfläche Abfrage ausführen überprüfen.

    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
    

    Wenn die Abfrage nicht die erwarteten Daten zurückgibt, verwenden Sie möglicherweise eine frühere Version von AdventureWorks. Weitere Informationen zur Installation der SQL Server 2005-Version von AdventureWorks finden Sie unter Exemplarische Vorgehensweise: Installieren der AdventureWorks-Datenbank.

  10. Übernehmen Sie auf der Seite Zu generierende Methode auswählen die Standardvorgaben DataTable füllen mit Methodenname: Fill und DataTable zurückgeben mit Methodenname: GetData. Klicken Sie auf Weiter.

  11. Klicken Sie auf der Seite Assistentenergebnisse auf Fertig stellen.

  12. Auf der DataSet-Designerseite sollte DataTable1 mit den aus der Abfrage resultierenden Spalten angezeigt werden. Wählen Sie aus dem Menü Daten die Option Datenquellen anzeigen aus, und erweitern Sie den Knoten DataTable1, damit Sie diese Spalten sehen. Im nächsten Schritt werden Sie das Fenster Datenquellen und die Felder Dept, Shift und EmployeeID verwenden, um Daten an den Bericht zu binden.

Entwerfen des Berichts

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

  2. Klicken Sie im Dialogfeld Neues Element hinzufügen auf Bericht.

  3. Geben Sie einen Namen für die Berichtdatei ein. Standardmäßig lautet der Berichtsname Report1.rdlc. Klicken Sie auf Hinzufügen. Der Berichts-Designer wird geöffnet und zeigt die gepunktete Oberfläche an, die die Berichtsseite darstellt.

  4. Öffnen Sie die Toolbox. Klicken Sie auf ein Textfeld und dann auf das Formular.

  5. Geben Sie im Textfeld einen Berichtstitel ein: Anzahl von Mitarbeitern pro Schicht pro Abteilung.

  6. Ziehen Sie aus der Toolbox ein Matrix-Berichtselement auf den Bericht unter das Textfeld.

  7. Erweitern Sie im Fenster Datenquellen das DataTable1-Element, um die Spalten Dept, Shift und EmployeeID anzuzeigen. Ziehen Sie das Feld Dept auf das Textfeld Zeilen in der ersten Spalte und zweiten Zeile der Matrix.

  8. Ziehen Sie das Feld Shift auf das Textfeld Spalten in der zweiten Spalte und ersten Zeile der Matrix. Legen Sie bei ausgewähltem Textfeld die Eigenschaft TextAlign auf Rechts fest. Klicken Sie in der Symbolleiste Berichtsformatierung auf das Symbol B, um Fettformatierung zu verwenden.

  9. Wählen Sie den Matrixdatenbereich aus, indem Sie auf eine beliebige Stelle in der Matrix klicken. Drücken Sie anschließend die rechte Maustaste, und wählen Sie die Matrix anhand ihres Namens aus (der Standardname lautet matrix1). Um das Matrixberichtselement wird ein Rahmen angezeigt. Klicken Sie mit der rechten Maustaste auf den Rahmen, und wählen Sie Eigenschaften aus. Überprüfen Sie, ob der Titel des sich öffnenden Dialogfelds Matrixeigenschaften ist.

  10. Klicken Sie auf die Registerkarte Gruppen. Klicken Sie im Abschnitt Spalten auf Bearbeiten.

  11. Klicken Sie im Dialogfeld Sortieren und gruppieren auf die Registerkarte Sortierung.

  12. Klicken Sie im ersten Feld unter Ausdruck, um das Textfeld zu aktivieren, und klicken Sie dann auf den Dropdownpfeil, und wählen Sie =Fields!Dept.Value aus. Dies stellt sicher, dass die Berichtsdaten nach dem Abteilungsnamen sortiert werden.

  13. Ziehen Sie aus dem Fenster Datenquellen das Feld EmployeeID auf das Textfeld Daten in der zweiten Spalte und zweiten Zeile der Matrix. Klicken Sie mit der rechten Maustaste auf dieses Textfeld, und wählen Sie Eigenschaften aus.

  14. Klicken Sie im Fenster Eigenschaften auf der Registerkarte Allgemein auf die Ausdrucksschaltfläche (fx), um den Ausdrucks-Editor aufzurufen.

  15. Bearbeiten Sie die standardmäßige Sum-Aggregatfunktion, und ändern Sie sie zu Count. Sie können den Ausdrucks-Editor aufrufen, indem Sie mit der rechten Maustaste auf das Textfeld klicken und die Option Eigenschaften auswählen. Der Ausdruck sollte folgendermaßen lauten:

    =Count(Fields!EmployeeID.Value)
    

Hinzufügen eines ReportViewer-Steuerelements zu der Anwendung

  1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf Form1.vb, und wählen Sie Entwurf anzeigen aus, um das Formular im Entwurfsmodus zu öffnen.

  2. Klicken Sie im Eigenschaftenfenster Formular auf +, um die Eigenschaft Größe zu erweitern. Legen Sie die Höhe des Formulars auf 700 fest.

  3. Klicken Sie im Bereich Daten der Visual Studio-Toolbox auf das Symbol ReportViewer, und klicken Sie dann auf das Formular. Passen Sie die Formularbreite und die Breite des ReportViewer-Steuerelements nach Bedarf an.

  4. Öffnen Sie den Smarttagbereich des ReportViewer-Steuerelements. Klicken Sie dazu auf das Dreieck in der oberen rechten Ecke. Klicken Sie auf die Dropdownliste Bericht auswählen, und wählen Sie Report1.rdlc aus. Wird ein Bericht ausgewählt, werden automatisch Instanzen der im Bericht verwendeten Datenquellen erstellt. Es wird Code generiert, um ein DataSet (der ADO.NET-Container für eine DataTable), eine TableAdapter-Komponente und ein BindingSource-Objekt entsprechend jeder im Bericht verwendeten Datenquelle zu instantiieren.

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

Erstellen und Ausführen der Anwendung

  1. Klicken Sie im Menü Erstellen auf ReportWalkthrough erstellen. Im Rahmen des Erstellungsprozesses wird der Bericht kompiliert. Manche Fehler (z. B. Syntaxfehler in einem im Bericht verwendeten Ausdruck) werden in der Aufgabenliste vermerkt.

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

Siehe auch

Verweis

Microsoft.Reporting.WinForms.ReportViewer.Drillthrough
Microsoft.Reporting.WinForms.LocalReport.SubreportProcessing
Microsoft.Reporting.WebForms.ReportViewer.Drillthrough
Microsoft.Reporting.WebForms.LocalReport.SubreportProcessing

Konzepte

Verwenden des Smarttagbereichs ReportViewer-Aufgaben

Weitere Ressourcen

Beispiele und Anleitungen