Vor dem Herunterladen von Online Designer aus der Seite www.fast-report.com brauchen Sie ein Compile zu machen. Zuerst setzt man die Konfiguration der Anwendung in einem speziellen Wizard ein. Aber was zu machen, wenn Ihre Kunden eine andere Konfiguration brauchen? Sie erstellen den Designer noch einmal, laden ihn herunter und fügen ihn ins Projekt hinzu. Aber was zu machen, wenn Sie mehrere Konfigurationen in einem Projekt brauchen? Jede Konfiguration soll jedes Mal heruntergeladen werden.
In diesem Artikel erzähle ich über neue Möglichkeit der Veränderung der Konfiguration von Online Designer im Code der Anwendung.
Eigentlich wird die json-Datei der Konfiguration im Code mehrmals bestimmt. Dies wurde erstes Mal in der Version 2017.3.3 erschienen und wird sehr nützlich fürs Verwechslung der Gestaltung und anderen Parametern des Designers
Wie funktioniert das alles? Online Designer downloadet die Default-Parameter und weiter die veränderten, die die Start-Einstellungen noch einmal bestimmen.
Diese veänderte Einstellungen speichert man in der Eigenschaft: WebReport.DesignerConfig in einer Zeile im JSON Format.
Wir machen jetzt ein Beispiel, erstellen eine ASP.Net MVC Anwendung im Ordner mit Online Designer und nennen diese Anwendung als WebReportDesigner. Weiter platzieren wir in den Ordner mit dieser Anwendung den Enthält des Archives, das von der Seite von FastReport heruntergeladen wurde.
In Reference fügen wir die Links auf die Bibliotheken FastReport.dll und FastReport.Web.dll .
Weiter fügen wir in den Kontroller „HomeController“ in der Methode „Index“ folgenden Code hinzu:
Das Beispeil der Verwendung dieser Eigenschaft:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
… using FastReport.Web; using System.Web.UI.WebControls; … public ActionResult Index() { WebReport webReport = new WebReport(); webReport.Width = Unit.Percentage(100); webReport.Height = Unit.Percentage(100); string report_path = GetReportPath(); System.Data.DataSet dataSet = new System.Data.DataSet(); dataSet.ReadXml(report_path + "nwind.xml"); webReport.Report.RegisterData(dataSet, "NorthWind"); webReport.Report.Load(report_path + "Simple List.frx"); webReport.DesignReport = true; webReport.DesignScriptCode = false; webReport.Debug = true; webReport.DesignerPath = "~/WebReportDesigner/index.html"; webReport.DesignerLocale = "en"; webReport.DesignerSaveCallBack = "~/Home/SaveDesignedReport"; webReport.ID = "DesignReport"; // file with custom configuration string designerConfigFile = this.Server.MapPath("~/App_Data/DesignerConfig.json"); // load file in DesignerConfig if (System.IO.File.Exists(designerConfigFile)) webReport.DesignerConfig = System.IO.File.ReadAllText(designerConfigFile); ViewBag.WebReport = webReport; return View(); } |
Jetzt hat das Objekt „WebReport” eine Eigenschaft „DesignerConfig“. Dort bestimmen wir die Konfiguration-Datei, mit der man die gebrauchten Parameter von Online Designer verändern kann. Die Datei befindet sich im Ordner App_Data oder in einem anderen, innen des Projekts.
Das ist ein Beispiel des Enthälts der Datei /App_Data/DesignerConfig.json:
1 2 3 4 5 6 7 8 9 10 11 12 |
{ "font-names": [ "Calibri", "Calibri Light", "Comic Sans MS", ], "default-font-name": "Calibri", "preload-fonts": ["Calibri"], "scale": 1, "grid": 9.45, "sticky-grid": true } |
In dieser Datei veränderten wir eine Fonts-Sammlung, die in den Text-Komponenten von Online Designer verfügbar ist.
Jetzt beschreiben wir alle Parameter der Konfiguration, verändert werden können:
1 2 3 4 5 6 |
{ "url" – der Link für Redirect, nach dem erfolgsreichen Speichern; "blank": - in neuem Tab öffnen; "useParent" – für die Verwendung von Redirect aus dem Parent-Fenster in iframe; "removeConfirmation" – keine Anzeige von der Bestätigung beim Redirect (nach dem Speichern); }, |
1 2 3 4 5 6 |
{ "button-circle" – die Farbe der Elemente von Resize und anderer runden Elemente auf dem Arbeitsgebiet; "angle-slider" – die Farbe des Elementes von der Engel-Verwechslung; "default-band-separator" – die Farbe vom Band-Schneider; "selected-band-separator" – die Farbe vom aktiven Band-Schneider beim Band-Resize; }, |
Customer-Paneel (auf der linken Seite, Instrumenten-Paneel mit den Tasten)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
{ "properties": { "enable" – Aktivität des Paneels; "button" – die Taste auf dem Paneel zeigen; "shown" – das Default-Paneel beim Download des Designers öffnen; "header": - der Titel des Paneels; "hasBorder" – visuelle Grenze des Paneels; "movable" – das Paneel beim drag & drop verschieben; "resizable" – einen Resize des Paneels machen; }, "events": { "enable": true, "button": true, "shown": false, "header": true, "hasBorder": true, "movable": true, "resizable": true }, "report-tree": { "enable": true, "button": true, "shown": false, "header": true, "hasBorder": true, "movable": true, "resizable": true }, "data": { "enable": true, "button": true, "shown": false, "header": true, "hasBorder": true, "movable": true, "resizable": true }, "preview": { "enable": true, "shown": true, "button": false, "header": false, "background": "initial", "container": "horz" "width": 125 – die Breite der Default-Elemente von Preview; "table": true } }, "default-tab-menu": "home" – Das Default-Tab-Menü auf dem oben platzierenden Paneel beim Download des Designers; "show-saving-progress": "default", - bestimmte Werte - default, small, large; "notifications": "default", - bestimmte Werte - default, html5, false; "notifications-mobile": "default" bestimmte Werte - default, html5, false; } |
Zum Schluß, möchte ich sagen, dass es jetzt viele Möglichkeiten gibt, ohne Recompile neue Konfiguration des Designers zu bestimmen.