Quickstart-Anleitung
Integration in eine ASP.NET MVC Web-/Cloud-Anwendung
Lerne, List & Label effektiv in eine Windows ASP.NET MVC Anwendung zu integrieren. Für Web-/Cloud-Anwendungen stehen der Web Report Designer und der Web Report Viewer zur Verfügung.
Web Report Designer
So verwendest du den vollständig browserbasierten Web Report Designer unter ASP.NET MVC.
NuGet-Paket hinzufügen
Füge in der bestehenden Windows ASP.NET Web-Anwendung die beiden List & Label NuGet-Pakete „combit.ListLabel[xx]“ und „combit.ListLabel[xx].Web“ hinzu:
Controller erstellen
Erstelle einen neuen Controller für den Web Report Designer. Füge die Namespaces combit.Reporting und combit.Reporting.Web hinzu und leite den Controller von WebReportDesignerController ab:
// combit Reporting und Web Namespace hinzufügen
using combit.Reporting;
using combit.Reporting.Web;
...
public class MyWebReportDesignerController : WebReportDesignerController
...
Objekt erstellen & Datenquelle zuweisen
Erstelle im neuen Controller das List & Label-Objekt und definiere die gewünschte Datenquelle für List & Label anhand eines Datenproviders. Hier im Beispiel: Zugriff auf eine Microsoft SQL Server Datenbank:
...
public override void OnProvideListLabel(ProvideListLabelContext provideListLabelContext)
{
// List & Label Objekt erstellen
ListLabel LL = new ListLabel();
// Geeigneten Datenprovider erstellen - z.B. für den Zugriff auf eine Microsoft SQL Server Datenbank
SqlConnection connection = new SqlConnection(DefaultSettings.ConnectionString);
SqlConnectionDataProvider sqlProvider = new SqlConnectionDataProvider(connection);
// Den erstellten Datenprovider mit dem List & Label Objekt verbinden
LL.DataSource = dataSource;
// Das neue List & Label Objekt bereitstellen
provideListLabelContext.NewInstance = LL;
}
...
Repository definieren
Im neuen Controller ist noch das zu verwendende Repository zu definieren. Es enthält und verwaltet die Berichte für den Designer:
...
public override void OnProvideRepository(ProvideRepositoryContext provideFileRepositoryContext)
{
provideFileRepositoryContext.Repository = DefaultSettings.GetRepository();
}
...
Konfigurieren
Der Web Report Designer muss in der ASP.NET MVC Anwendung noch konfiguriert werden:
...
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
// Erledigen Sie hier noch andere Dinge für die Anwendung
// ...
app.UseWebReportDesigner();
}
...
public void ConfigureServices(IServiceCollection services)
{
// Erledigen Sie hier noch andere Dinge für die Anwendung
// ...
services.AddWebReportDesigner();
}
...
Designer anzeigen
Rufe den Web Report Designer in der gewünschten View auf:
...
@using combit.Reporting.Web
@{
Layout = null;
}
@Html.WebReportDesigner()
...
Web Report Viewer
So fügst du zusätzlich zum Web Report Designer den vollständig browserbasierten Web Report Viewer unter ASP.NET MVC hinzu.
Controller erstellen
Erstelle einen neuen Controller für den Web Report Viewer und füge die Namespaces combit.Reporting und combit.Reporting.Web hinzu. Leite den Controller von WebReportViewerController ab:
// combit Reporting und Web Namespace hinzufügen
using combit.Reporting;
using combit.Reporting.Web;
...
public class MyWebReportViewerController : WebReportViewerController
...
Objekt erstellen & Datenquelle zuweisen
Erstelle im neuen Controller das List & Label-Objekt und definiere die gewünschte Datenquelle für List & Label anhand eines Datenproviders. Der benötigte Code ist identisch zum Code für den Web Report Designer. Du kannst auch die gleiche Methode wiederverwenden.
Repository definieren
Im neuen Controller ist noch das zu verwendende Repository zu definieren. Es enthält und verwaltet die Berichte für den Vorschaudruck. Der benötigte Code ist identisch zum Code für den Web Report Designer. Du kannst auch die gleiche Methode wiederverwenden.
Konfigurieren
Der Web Report Viewer muss in der ASP.NET MVC Anwendung noch konfiguriert werden:
...
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
// Erledigen Sie hier noch andere Dinge für die Anwendung
// ...
app.UseWebReportViewer();
}
...
public void ConfigureServices(IServiceCollection services)
{
// Erledigen Sie hier noch andere Dinge für die Anwendung
// ...
services.AddWebReportViewer();
}
...
Vorschau anzeigen
Rufe den Web Report Viewer mit dem Zielbericht nun in der gewünschten View auf:
...
@using combit.Reporting.Web
@{
Layout = null;
string repositoryId = Request.QueryString["reportRepositoryID"];
if (!String.IsNullOrEmpty(repositoryId))
{
repositoryId = repositoryId.Replace("repository://{", "").Replace("}", "");
}
}
@Html.WebReportViewer("Web Report Viewer", repositoryId)
...
Tutorials
Eine ausführliche Anleitung zur Integration des Web Report Designers findest du in der .NET-Hilfe unter Verwendung des Web Report Designers. In der .NET-Hilfe findest du außerdem eine ausführliche Anleitung zur Verwendung des Repository-Modes.
Eine ausführliche Anleitung zur Integration des Web Report Viewers findest du in der .NET-Hilfe unter Verwendung des Web Report Viewers. In der .NET-Hilfe findest du außerdem eine ausführliche Anleitung zur Verwendung des Repository-Modes.
Sieh dir ebenfalls unser Tutorial auf YouTube an: List & Label in eine Web-Anwendung integrieren.