Einleitung
Mit Visual Studio 2017 gibt es viele neue Features, die uns als SW-Entwickler das Leben um ein Vielfaches einfacher gestalten.
Leider wurde die Verwendung von lokalen Reports – sog. RDLC Reports – sehr kompliziert gestaltet.
Damit man trotzdem auch mit VS2017 die gewohnten, sehr guten Featuren von RDLC nutzen kann, folgende Anleitung mit Links auf die offiziellen Microsoft Seiten.
Vorgehensweise
Für die Verwendung von RDLC Reports in Visual Studio 2017 in ASP.NET-Projekten gehen Sie wie folgt vor (eine ähnliche Vorgehensweise gilt auch für die Verwendung von RDLC Reports in Windows-Forms-Projekten):
- Schließen Sie alle gerade geöffneten Visual Studio-Fenster
- Installieren Sie die Visual Studio-Extension „Microsoft Rdlc Report Designer for Visual Studio“:
Download-Link:
https://marketplace.visualstudio.com/items?itemName=ProBITools.MicrosoftRdlcReportDesignerforVisualStudio-18001 - Installieren Sie die Visual Studio-Extension “Microsoft Reports for Visual Studio”:
Download-Link:
https://marketplace.visualstudio.com/items?itemName=ProBITools.MicrosoftReportProjectsforVisualStudio
Anmerkung: Falls die Installation der heruntergeladenen vsix-Dateien (Microsoft.RdlcDesigner.vsix und Microsoft.DataTools.ReportingServices.vsix) nicht funktioniert, können die Extensions auch direkt in Visual Studio über Tools > Extensions and Updates installiert werden:
- Starten Sie Visual Studio und erstellen Sie eine ASP.NET Web Application:
Alternativ dazu können Sie an einem bestehenden Projekt vom Typ ASP.NET Web Application weiterarbeiten. - Fügen Sie das NuGet-Package „Microsoft.ReportingServices.ReportViewerControl.WebForms“ hinzu (aktuellste Version zum Zeitpunkt der Erstellung des Blogeintrags: Version 140.1000.523 vom 6. November 2017):
Im Anschluss an die Installation des NuGet-Packages öffnet sich die Microsoft-Informationsseite “Get started with RVC – Next steps”:
http://htmlpreview.github.io/?https://github.com/Microsoft/Reporting-Services/blob/master/Docs_14_0/Get-Started-With-RVC.html - Erstellen Sie einen neuen Report:
- Im Dialog “Add New Item” (Projekt > Add > New Item…) sehen Sie nun unter Visual C# die beiden Einträge “Report” und “Report Wizard”. Wählen Sie “Report” und drücken Sie den Add-Button:
- Bestätigen Sie den Dialog, der nach dem Hinzufügen erscheint:
Hinweis: Jede weitere Report-Datei können Sie nun über das Projektmenü Add > Report hinzufügen:
- Im Dialog “Add New Item” (Projekt > Add > New Item…) sehen Sie nun unter Visual C# die beiden Einträge “Report” und “Report Wizard”. Wählen Sie “Report” und drücken Sie den Add-Button:
- Befüllen Sie den Report:
- Öffnen Sie die Toolbox und fügen Sie die gewünschten Report Items hinzu, z.B. ein Table-Objekt:
- Nach dem Hinzufügen müssen Sie das DataSet konfigurieren und dafür zuerst eine Datenverbindung zu einer Datenbank hinzufügen sowie die gewünschten Datenbank-Objekte auswählen:
Wählen Sie die gewünschten Datenbank-Objekte aus:
Bestätigen Sie den finalen Dialog mit OK:
- Wechseln Sie von der Toolbox zum Fenster “Report Data” und fügen Sie die gewünschten Reportdaten zum Report hinzu (Beispiel: befüllen Sie die Tabelle mittels Drag&Drop mit den Daten aus dem Bereich “Report Data”):
- Öffnen Sie die Toolbox und fügen Sie die gewünschten Report Items hinzu, z.B. ein Table-Objekt:
- Erstellen Sie eine neue WebForm und fügen Sie den erstellten Report zum Formular hinzu (Project > Add > WebForm):
- Wechseln Sie auf die Designansicht
- Fügen Sie aus der Toolbox den ScriptManager hinzu (Toolbox > AJAX Extensions > ScriptManager):
- Fügen Sie aus der Toolbox den ReportViewer hinzu und ändern Sie ggf. seine Größe:
Falls dieser nicht vorhanden ist, gehen sie wie folgt vor:- Toolbox > General > Choose Items…
- Browse: [Solution-Ordner]\packages\Microsoft.ReportingServices.ReportViewerControl.WebForms.140.1000.523\lib\net40\Microsoft.ReportViewer.WebForms.dll auswählen:
- Im ReportViewer unter „Choose Report“ den angelegten Report (*.rdlc-Datei) auswählen:
- Testen Sie die erstellte WebForm und den hinzugefügten Report mittels IIS Express durch Auswahl des gewünschten Browsers und Drücken des Play-Buttons: