Anleitung: Erstellen eines ReportViewer-Berichts

In dieser exemplarischen Vorgehensweise wird erläutert, wie ein einfacher Tabellenbericht in einem Visual Studio Windows Forms-Anwendungsprojekt auf Grundlage der AdventureWorks2008-Beispieldatenbank erstellt wird. Sie fügen mithilfe des Berichts-Assistenten Ihrem Projekt einen Bericht hinzu und fügen ein ReportViewer Windows Forms-Steuerelement in ein Windows Form ein, sodass der Bericht von Benutzern der Anwendung angezeigt werden kann.

Ein Beispiel für das Erstellen eines Drillthroughbericht mithilfe des ReportViewer-Steuerelements finden Sie unter Erstellen ein Drillthroughberichts (RDLC) mit Parametern mithilfe von ReportViewer (SSRS-Lernprogramm).

Weitere Informationen zum Entwerfen von Berichten mit dem Visual Studio-Berichts-Designer finden Sie unter Berichts-Designer (Visual Studio).

Vorbereitungsmaßnahmen

Um diese exemplarische Vorgehensweise anzuwenden, müssen Sie über Zugriff auf die AdventureWorks2008-Beispieldatenbank verfügen. Die in dieser exemplarischen Vorgehensweise verwendete Abfrage unterstützt ältere Versionen von AdventureWorks nicht. Weitere Informationen dazu, wie Sie die AdventureWorks2008-Beispieldatenbank erhalten, finden Sie unter Anleitung: Installieren der AdventureWorks-Datenbank.

In dieser exemplarischen Vorgehensweise wird davon ausgegangen, dass Sie mit Transact-SQL-Abfragen und dem DataSet-Objekt sowie dem DataTable-Objekt von ADO.NET vertraut sind.

So erstellen Sie ein neues Windows Forms-Anwendungsprojekt

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

  2. Erweitern Sie im Bereich Installierte Vorlagen die Option Andere Sprachen, und wählen Sie Visual Basic aus.

  3. Wählen Sie Windows Forms-Anwendung.

  4. Geben Sie in das Feld Name den Wert SimpleReport ein.

  5. Geben Sie im Textfeld Speicherort das Verzeichnis ein, unter dem das Projekt gespeichert werden soll, oder klicken Sie auf die Schaltfläche Durchsuchen, um zum Verzeichnis zu navigieren.

  6. Klicken Sie auf OK.

    Der Windows Forms-Designer wird mit Form1 des erstellten Projekts angezeigt.

  7. Klicken Sie auf das Formular. Wählen Sie im Menü Ansicht die Option Eigenschaftenfenster aus. Öffnen Sie die Size-Eigenschaft, um Breite und Höhe anzuzeigen. Legen Sie die Breite auf 500 Pixel fest.

So definieren Sie ein Dataset und eine Datentabelle

  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. Geben Sie einen Namen für das Dataset ein, und klicken Sie auf Hinzufügen. Der Standardname ist DataSet1.xsd.

    Hiermit wird dem Projekt eine neue XSD-Datei hinzugefügt und der DataSet-Designer geöffnet.

  3. Öffnen Sie im DataSet-Designer den Werkzeugkasten,und ziehen Sie ein TableAdapter-Steuerelement auf die Entwurfsoberfläche.

    Dadurch wird der TableAdapter-Konfigurations-Assistent geöffnet.

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

  5. Wenn Sie zum ersten Mal eine Datenquelle in Visual Studio erstellen, wird die Seite Datenquellen auswählen angezeigt. Wählen Sie im Dialogfeld Datenquelle die Option Microsoft SQL Server.

  6. Führen Sie im Dialogfeld Verbindung hinzufügen die folgenden Schritte aus:

    • Geben Sie in das Feld Servername den Server ein, auf dem sich die AdventureWorks2008-Datenbank befindet.

      Die standardmäßige SQL Server Express-Instanz ist (local)\sqlexpress.

    • Wählen Sie im Abschnitt Beim Server anmelden die Option aus, die Zugriff auf die Daten bietet. Windows-Authentifizierung verwenden ist die Standardeinstellung.

    • Klicken Sie in der Dropdownliste Wählen Sie einen Datenbanknamen aus, oder geben Sie ihn ein auf AdventureWorks2008.

    • Klicken Sie auf OK, um zum Assistenten zurückzukehren, und klicken Sie dann auf Weiter.

  7. Wenn Sie im vorherigen Schritt SQL Server-Authentifizierung verwenden angegeben haben, wählen Sie aus, ob vertrauliche Daten in die Zeichenfolge aufgenommen werden sollen, oder legen Sie die Informationen im Anwendungscode fest.

  8. Geben Sie auf der Seite Verbindungszeichenfolge in der Anwendungskonfigurationsdatei speichern den Namen der Verbindungszeichenfolge ein, oder übernehmen Sie den Standardnamen AdventureWorks2008ConnectionString. Klicken Sie auf Weiter.

  9. Wählen Sie auf der Seite Wählen Sie einen Befehlstyp aus die Option SQL-Anweisungen verwenden aus, und klicken Sie dann auf Weiter.

  10. Geben Sie auf der Seite SQL-Anweisung eingeben die folgende Transact-SQL-Abfrage zum Abrufen von Vertriebsdaten aus der AdventureWorks2008-Datenbank ein, und klicken Sie dann auf Fertig stellen:

    --SET DATEFORMAT mdy
    
    SELECT      
       PC.Name AS Category, PS.Name AS Subcategory, 
       DATEPART(yy, SOH.OrderDate) AS Year, 
       'Q' + DATENAME(qq, SOH.OrderDate) AS Qtr, 
       SUM(DET.UnitPrice * DET.OrderQty) AS Sales
    FROM Production.ProductSubcategory PS INNER JOIN
       Sales.SalesOrderHeader SOH INNER JOIN
          Sales.SalesOrderDetail DET ON SOH.SalesOrderID = DET.SalesOrderID INNER JOIN
          Production.Product P ON DET.ProductID = P.ProductID 
          ON PS.ProductSubcategoryID = P.ProductSubcategoryID INNER JOIN
       Production.ProductCategory PC ON PS.ProductCategoryID = PC.ProductCategoryID
    WHERE (SOH.OrderDate BETWEEN ('20020101') AND ('20031231'))
    GROUP BY DATEPART(yy, SOH.OrderDate), PC.Name, PS.Name, 
       'Q' + DATENAME(qq, SOH.OrderDate), PS.ProductSubcategoryID
    

    Zum Erstellen der Abfrage mit dem Abfrage-Generator können Sie auch auf die Schaltfläche Abfrage-Generator klicken und die Abfrage anschließend mit der Schaltfläche Abfrage ausführen überprüfen.

  11. Klicken Sie auf Fertig stellen.

    Der Dataset-Designer zeigt nun die DataTable-Definition für DataTable1 mit Feldbezeichnungen an, die aus den Spalten und Spaltenaliasen der Abfrage erstellt wurden (Category, Subcategory, Year, Qtr und Sales). Sie verwenden diese Felder zum Binden von Daten an den Bericht.

    Hinweis

    Klicken Sie auf der DataSet-Designer-Seite mit der rechten Maustaste auf die Kopfzeile DataTable1 oder die Kopfzeile DataTable1TableAdapter, wenn Sie die Felder in der Datentabelle ändern möchten.Wählen Sie Konfigurieren, um den TableAdapter-Konfigurations-Assistenten neu zu starten.

  12. Speichern Sie die DataSet1-Datei.

So fügen Sie eine neue Berichtsdefinitionsdatei mit dem Berichts-Assistenten hinzu

  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.

  3. Geben Sie in das Feld Name den Namen Sales Orders.rdlc ein, und klicken Sie auf Hinzufügen.

    Hinter dem Dialogfeld wird eine grafische Entwurfsoberfläche geöffnet.

  4. Wählen Sie auf der Seite Dataseteigenschaften in der Dropdownliste Datenquelle das DataSet aus, das Sie erstellt haben.

    Das Feld Verfügbare Datasets wird automatisch mit der von Ihnen erstellten DataTable aktualisiert.

  5. Klicken Sie auf Weiter.

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

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

    2. Ziehen Sie Subcategory von Verfügbare Felder in das Feld Zeilengruppen unter Category.

    3. Ziehen Sie Year von Verfügbare Felder in das Feld Spaltengruppen.

    4. Ziehen Sie Qtr von Verfügbare Felder in das Feld Spaltengruppen unter Year.

    5. Ziehen Sie Sales von Verfügbare Felder in das Feld Werte.

  7. 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 entworfene Tablix wird auf der Entwurfsoberfläche angezeigt.

So fügen Sie dem Bericht einen Titel hinzu

  1. Klicken Sie auf der Entwurfsoberfläche auf das tablix-Element, sodass die Spalten- und Zeilenziehpunkte (Handles) über und neben der Tabelle angezeigt werden.

    Hinweis

    Ziehpunkte sind graue Felder, die über und neben dem tablix-Element angezeigt werden.Mit Ziehpunkten können Sie verschiedene Aktionen für Spaltengruppen, Zeilengruppen und das tablix-Element ausführen.Die Ziehpunkte, die am oberen Rand des tablix-Elements angezeigt werden, werden als Spaltenziehpunkte bezeichnet.Die Ziehpunkte, die an der Seite des tablix-Elements angezeigt werden, werden Zeilenziehpunkte genannt.Der Ziehpunkt an den Stellen, an denen sich Spalten- und Zeilenziehpunkte treffen, wird als Eckziehpunkt bezeichnet.

  2. Klicken Sie zum Auswählen des gesamten tablix-Elements auf den Eckziehpunkt, um den Kreuzpfeil anzuzeigen.

  3. Ziehen Sie das tablix-Element auf der Entwurfsoberfläche mit dem Kreuzpfeil nach unten.

  4. Ziehen Sie ein Textfeld-Element aus dem Werkzeugkasten in den Bereich über dem tablix-Element, und positionieren Sie es durch Ziehen des Kreuzpfeils.

  5. Geben Sie im ausgewählten Textfeld Company Sales ein. Erweitern Sie das Textfeld erforderlichenfalls durch Ziehen.

  6. Klicken Sie bei ausgewähltem Textfeld auf der Symbolleiste Berichtsformatierung auf die Schaltfläche Fett, und wählen Sie dann 16pt im Feld Schriftgrad.

  7. Klicken Sie bei ausgewähltem Textfeld auf der Symbolleiste Berichtsformatierung auf die Schaltfläche Vordergrundfarbe.

  8. Wählen Sie im Dialogfeld Farbe auswählen die Farbe Mitternachtsblau aus, und klicken Sie auf OK.

So fügen Sie dem Formular ein ReportViewer-Steuerelement hinzu

  1. Klicken Sie im Projektmappen-Explorer auf Form1.vb.

  2. Klicken Sie im Menü Ansicht auf Designer.

  3. Ziehen Sie das ReportViewer-Steuerelement aus dem Bereich Berichterstellung des Werkzeugkastens auf das Formular.

  4. Öffnen Sie den Smarttagbereich des ReportViewer1-Steuerelements, indem Sie auf das Smarttagsymbol in der rechten oberen Ecke klicken. Klicken Sie in der Dropdownliste auf Bericht auswählen, und wählen Sie SimpleReport.Sales Orders.rdlc aus.

  5. Klicken Sie im Smarttagbereich auf In übergeordnetem Container andocken.

    Im letzten Teil dieser Anleitung können Sie nun die Anwendung erstellen und den Bericht im Formular jederzeit anzeigen. Wenn Sie sehen möchten, wie sich die inkrementellen Änderungen Ihres Berichtsentwurfs auf den endgültigen Bericht auswirken, erstellen Sie bei jeder der folgenden Prozeduren als letzten Schritt den Bericht bzw. zeigen sie ihn an.

  6. (Optional) Drücken Sie F5, um die Anwendung zu erstellen und den Bericht im Formular anzuzeigen.

So formatieren Sie ein Währungsfeld

  1. Klicken Sie im Berichts-Designer-Fenster für die Datei Sales Orders.rdlc mit der rechten Maustaste in die obere linke Zelle mit dem Wert [Sum(Sales)], und klicken Sie dann auf Textfeldeigenschaften.

  2. Wählen Sie die Registerkarte Zahl aus.

  3. Wählen Sie in der Liste Kategorie die Option Währung aus.

  4. Wählen Sie in der Liste Symbol die Option Englisch (Vereinigtes Königreich) aus.

  5. Klicken Sie auf OK, um das Dialogfeld zu schließen.

  6. Führen Sie für alle anderen Zellen mit dem Wert [Sum(Sales)] die gleichen Schritte aus.

  7. (Optional) Drücken Sie F5, um die Anwendung zu erstellen und den Bericht anzuzeigen. Beachten Sie die Änderung des Zahlenformats. Es wurde keine Währungsumrechnung vorgenommen, es wurde lediglich das Zahlenformat geändert.

So formatieren Sie das tablix-Layout

  1. Wählen Sie im Berichts-Designer-Fenster für die Datei Sales Orders.rdlc die beiden leeren Zellen in der oberen linken Ecke des tablix-Elements durch Ziehen des Cursors aus.

  2. Klicken Sie mit der rechten Maustaste auf die markierten Zellen, und klicken Sie dann auf Zellen zusammenführen.

  3. Klicken Sie mit der rechten Maustaste in die zusammengeführte Zelle, und wählen Sie Textfeldeigenschaften aus.

  4. Klicken Sie auf die Registerkarte Rahmen. Klicken Sie im Bereich Vorschau auf die Schaltflächen zum Ein- und Ausblenden von Rahmen, um den oberen und den linken Rahmen zu entfernen.

  5. Klicken Sie auf OK.

  6. Klicken Sie auf das tablix-Element, um die Ziehpunkte anzuzeigen. Erweitern Sie die Spaltenbreite der Spalte Subcategory durch Ziehen des rechten Spaltenziehpunkts. Auf diese Weise können Sie verhindern, dass der Text in Spaltenüberschriften in die nächste Zeile umbrochen wird.

  7. Drücken Sie F5, um die Anwendung zu erstellen und den Bericht anzuzeigen.

Siehe auch

Referenz

ReportViewer.Drillthrough

LocalReport.SubreportProcessing

ReportViewer.Drillthrough

LocalReport.SubreportProcessing

Konzepte

Verwenden des Smarttagbereichs ReportViewer-Aufgaben

Weitere Ressourcen

Erstellen eines Drillthroughberichts (RDLC) mit Parametern mithilfe von ReportViewer (SSRS-Lernprogramm)

Entwerfen und Implementieren von Berichten mithilfe des Berichts-Desginers (Reporting Services)

Beispiele und Anleitungen