Erstellen von Datenquellen für einen Bericht

Eine Client-Berichtsdefinitionsdatei (RDLC) enthält DataSet-Elemente, die die vom Bericht verwendete Datenquellenstruktur definieren. Sie müssen dem Bericht mindestens ein DataSet hinzufügen, bevor Sie die Daten in der Berichtsdefinition verwenden können. Sobald Sie ein DataSet erstellt haben, können Sie ein bestimmtes Feld in einen Datenbereich oder in ein Textfeld im Bericht ziehen.

Client-Berichtsdefinitionsdateien (RDLC) werden vom ReportViewer-Steuerelement als lokale Berichte verarbeitet. Anders als bei Serverberichten müssen bei lokalen Berichten Daten verarbeitet werden, bevor die Berichte vom ReportViewer-Steuerelement verarbeitet werden können. Lokale Berichte können Daten aus jeder beliebigen Quelle verwenden, sofern sie als DataTable oder als eine IEnumerable-Auflistung von Geschäftsobjekten bereitgestellt werden kann. Die Datentabelle oder das Geschäftsobjekt geben eine Liste der Felder zurück, die vom Bericht verwendet werden können. Jedes Feld enthält einen Zeiger auf ein Datenbankfeld und eine Namenseigenschaft, ein Feld in einer Objektdatenquelle oder eine Spalte in einer DataTable. Sie können Felder aus dem Fenster Berichtsdaten auf die Entwurfsoberfläche des Berichts ziehen.

Konfigurieren von Datenquellen in einem Projekt

Beim Einrichten eines DataSet oder einer IEnumerable-Enumeration von Geschäftsobjekten als Berichtsdatenquelle empfehlen sich die folgenden Vorgehensweisen. Nach der Konfiguration der Datenquelle können Sie das DataSet oder Geschäftsobjekte an den Bericht binden.

ms252094.collapse_all(de-de,VS.140).gifVerwenden von Datentabellen

Zum Erstellen einer DataTable verwenden Sie den Befehl Neues Element hinzufügen im Menü Projekt und wählen das Objekt DataSet aus. Ziehen Sie ein TableAdapter-Element aus dem Werkzeugkasten in den DataSet-Editor, um die DataTable mit dem TableAdapter-Assistenten zu konfigurieren. Der TableAdapter-Konfigurations-Assistent stellt einen Abfrage-Generator und eine Funktion zur Datenvorschau zur Verfügung, sodass Sie Abfrageergebnisse sofort überprüfen können.

ms252094.collapse_all(de-de,VS.140).gifVerwenden von Geschäftsobjekten

Als Geschäftsobjekt wird jedes Anwendungsobjekt bezeichnet, das öffentliche Eigenschaften mit einfachen Datentypen verfügbar macht. Beispielsweise ist ein Array von Buchtitelobjekten, das von der Anwendung erstellt wird, ein Geschäftsobjekt, das als Datenquelle für den Bericht verwendet werden kann.

Damit eine Datenquelle darauf zugreifen kann, muss eine Klasse eine Methode oder eine Eigenschaft verfügbar machen, die IEnumerable zurückgibt. Sie können eine Klasse oder einen Verweise auf die Assembly für eine Klasse dem Projekt hinzufügen.

Die Verwendung von Geschäftsobjekten ist in Windows Forms- und ASP.NET-Projekte unterschiedlich. Anweisungen zum Verwenden von Geschäftsobjekten in Windows Forms finden Sie unter Anleitung: Verwenden einer Geschäftsobjekt-Datenquelle mit dem ReportViewer-Windows Forms-Steuerelement im lokalen Verarbeitungsmodus. Anweisungen zum Verwenden von Geschäftsobjekten in ASP.NET finden Sie unter Anleitung: Verwenden einer Geschäftsobjekt-Datenquelle mit dem ReportViewer-Webserver-Steuerelement im lokalen Verarbeitungsmodus.

Binden von Daten an einem Bericht

Berichtsdefinitionsdateien (RDLC) werden an DataSet-Objekte oder Geschäftsobjekte gebunden, die die benötigten Daten enthalten. Wenn Sie einen Bericht mit dem Berichts-Assistenten erstellen, führt Sie der Berichts-Assistent durch die Schritte zur Erstellung eines DataSet-Objekts mit den erforderlichen Daten und zur Bindung des Objekts an den Bericht. Sie können im Fenster Berichtsdaten ein DataSet oder ein Geschäftsobjekt auch manuell an einen Bericht binden. In diesem Fenster werden alle DataSets angezeigt, die an den Bericht gebunden sind, gruppiert nach den DataSet-Objekten.

ms252094.collapse_all(de-de,VS.140).gifSo binden Sie ein DataSet an einen Bericht

  1. Klicken Sie im Fenster Berichtsdaten des Berichts-Designers auf Neu, und wählen Sie dann DataSet aus.

  2. Wählen Sie im Listenfeld Datenquelle das DataSet-Objekt aus, das Sie erstellt haben. Um ein neues DataSet zu erstellen, klicken Sie auf Neu, und bearbeiten Sie den von Visual Studio bereitgestellten Assistenten zum Konfigurieren von Datenquellen. Wenn Sie ein Geschäftsobjekt erstellt haben, wählen Sie Global aus, damit Sie auf das Geschäftsobjekt zugreifen können.

  3. Wählen Sie im Listenfeld Verfügbare Datasets die Daten aus, für die Sie die Bindung erstellen möchten. Im Listenfeld werden die verfügbaren DataTable- oder Geschäftsobjekte angezeigt.

  4. Geben Sie im Feld Name einen Namen für dieses DataSet an, und klicken Sie dann auf OK.

Wenn Sie die DataSet-Schemas ändern, nachdem der Bericht definiert wurde, müssen Sie die Datenbindungen im Bericht und im Steuerelement aktualisieren. Weitere Informationen finden Sie unter Aktualisieren und erneutes Binden von Datenquellenverweisen.

Sie können eine beliebige Anzahl von DataSets in einem Bericht verwenden. Zum Anzeigen der Liste der DataSets, die tatsächlich von einem Bericht verwendet werden, wählen Sie im Menü Ansicht die Option Berichtsdaten aus. Um den Bericht und die enthaltenen Daten in der Anwendung anzuzeigen, müssen Sie einen Build der Anwendung erstellen oder die Anwendung bereitstellen, um zu überprüfen, ob der Bericht die erwarteten Daten enthält. Weitere Informationen zum Konfigurieren des Steuerelements und zum Definieren des Berichtslayouts finden Sie unter Konfigurieren von ReportViewer für die lokale Verarbeitung und Erstellen von Client-Berichtsdefinitionsdateien (RDLC).

Die folgenden Anleitungen, die zeigen, wie die verschiedenen Datenquellentypen einem Projekt hinzugefügt werden, sollen Ihnen einen schnellen Einstieg ermöglichen.

Definieren von Datenquellen für ReportViewer-Webserversteuerelemente

Datenquellensteuerelemente unterstützen die Abstraktion der Datenzugriffsschicht, sodass Steuerelemente auf einer Webseite eine Bindung zu einer Datenquelle herstellen, die ihrerseits eine Bindung zu den eigentlichen Daten herstellt. Auf diese Weise können Sie die Datenquelle effizient ändern, ohne alle Bindungen zwischen den einzelnen Steuerelementen und den Datenelementen erneut herstellen zu müssen.

Wenn Sie eine Webseite entwerfen, werden im Abschnitt Daten im Werkzeugkasten mehrere Datenquellensteuerelemente aufgelistet, z. B. SqlDataSource und XmlDataSource. Einige Datenquellensteuerelemente unterstützen die seitenbezogene Verwendung von Arbeitsspeicher für Webseiten, andere verwenden freigegebene Daten. Berichte verwenden keinen seitenbezogenen Arbeitsspeicher; für ein ReportViewer-Webserversteuerelement empfiehlt sich daher die Verwendung des ObjectDataSource-Steuerelements. Dieses Steuerelement stellt eine Brücke zwischen im Arbeitsspeicher zwischengespeicherten Objekten (DataTable-Objekte oder Geschäftsobjektauflistungen) und dem Bericht dar. Wenn Sie ein ReportViewer-Steuerelement zu einer Webseite hinzufügen, wird automatisch ein ObjectDataSource-Steuerelement hinzugefügt und konfiguriert.

Siehe auch

Referenz

ReportViewer.Drillthrough

LocalReport.SubreportProcessing

ReportViewer.Drillthrough

LocalReport.SubreportProcessing

Konzepte

Konfigurieren von ReportViewer für die Remoteverarbeitung

Aktualisieren und erneutes Binden von Datenquellenverweisen

Übersicht über TableAdapters

Weitere Ressourcen

Beispiele und Anleitungen