Das Reporting-Framework kann vom Endbenutzer angepasst werden

Es fällt mir schwer, ein geeignetes Framework/Tool für einen Berichtszweck auszuwählen. Ich habe eine Silverlight-Anwendung, in die ich Berichtsfunktionen integrieren muss. Der herausfordernde Teil ist, dass ich dem Endbenutzer erlauben muss, den Bericht zu entwerfen. Der Endbenutzer ist jemand, der weder über SQL noch über andere technische Kenntnisse verfügt.

Ich sollte ihm erlauben, einige Vorlagen auszuwählen, für erforderliche Felder per Drag-and-Drop zu ziehen und den Bericht zu erstellen. In diesem Moment verwende ich bereits DevExpress-Berichte in der Anwendung, die auf der Serverseite gespeichert sind und auf der ASP.Net-Seite im HtmlWindow angezeigt werden. Ich habe ein wenig recherchiert und folgende Tools mit wenigen Engpässen gefunden

  1. DevExpress hat einen Feature-Aufruf XtraReports, der für Silverlight eingestellt wurde und eingeschränkte Funktionalitäten hat, daher kann ich ihn nicht auswählen.

  2. Ich habe festgestellt, dass die meisten Leute Jasper-Berichte verwenden, aber ich bin mir nicht sicher, ob es einen Designer für Endbenutzerberichte gibt und ob wir ihn innerhalb der .Net-Anwendung verwenden können.

Gibt es Tools/Frameworks, die geeignet sind, diese Art von Problem zu lösen?

Antworten (1)

Syncfusion Essential Report Viewer für Silverlight kann zum Anzeigen von RDL-basierten Berichten in Silverlight verwendet werden. RDL ist ein offenes XML-Schema für Berichte, sodass Sie Ihre Berichte auf andere Plattformen verschieben können, wenn Sie sich in Zukunft für einen Wechsel von Silverlight entscheiden (Syncfusion bietet Viewer für JavaScript, ASP.NET, ASP.NET MVC, WPF, UWP).

In Bezug auf die Schnittstelle zum Erstellen von Berichten können Sie eine benutzerdefinierte Schnittstelle zum Ziehen und Ablegen von Feldern bereitstellen ( der Drag-and-Drop-Manager könnte nützlich sein ) und die erforderliche RDL über die ReportDefinition-API generieren.

RDL-Bericht

Hinzufügen von Informationen zur Bearbeitung durch den Endbenutzer

Wir haben ein Beispiel für die dynamische Generierung eines Berichts mithilfe der Berichtsdefinition vorbereitet, indem Sie das Element per Drag & Drop in den Canvas ziehen. Die folgenden Beispieländerungen werden vorgenommen, um eine dynamische Berichterstellung zu erreichen.

  1. Eine ListView wird verwendet, um die Datenspaltenelemente anzuzeigen, die das Ziehen von Elementen aus der Liste unterstützen.
  2. Die Tabellenspalten können in der Designseite wie im XAML-Designer durch Ziehen und Ablegen der Listenansichtselemente positioniert werden.
  3. Basierend auf den Elementen auf der Designseite haben wir den Bericht im CodeBehind dynamisch generiert, indem wir die Berichtsdefinition geändert haben.
  4. Eine Schaltfläche wird verwendet, um den generierten Bericht im Report Viewer anzuzeigen.

Hier können Sie das Beispiel herunterladen

Im obigen Beispiel haben wir die Erstellung von Textfeldern mit Datenspalten demonstriert. Wenn das obige Beispiel die Anforderung nicht erfüllt, teilen Sie uns bitte weitere Einzelheiten zu der Anforderung mit.

Das gesamte Produkt ist kostenlos über die Community-Lizenz erhältlich, wenn Sie sich qualifizieren (weniger als 1 Million USD Umsatz).

Ich arbeite für Syncfusion.

Vielen Dank. Ich habe bereits damit begonnen, es zu erkunden. Aber ich weiß nichts über die Berichtsdefinitions-API. Wird sie mit Report Server geliefert? Es ist wirklich ein Muss, Report Server zum Erstellen von Berichten zu verwenden? Und gemäß der Dokumentation wird das Berichts-SDK nicht unterstützt nach Silberlicht. Welche Produkte muss ich in diesem Fall auswählen, um dieses Szenario zu lösen?
@Thabo Report Server ist zum Erstellen von Berichten nicht erforderlich. Das SDK ist für Silverlight nicht verfügbar, der Report Viewer jedoch. Die ReportDefinition-Klasse befindet sich unter help.syncfusion.com/cr/cref_files/silverlight/report%20viewer/… . Ich werde unser Team bitten, eine Probe zusammenzustellen.