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
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.
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?
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.
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.
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.
Thabo
Davis Jebaraj