Wie die Konfiguration von Online Designer im Code der Anwendung ändern

2017-07-29

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:

  • "font-names" – der Array mit den Namen von verfügbaren Fonts für Text-Komponente;
  • "default-font-name" – der Default-Font, der für neulich erstellte Text-Komponente erstellt wird;
  • "preload-fonts" – der Array mit den Fonts, die bevor der Initialisierung des Designers downloadet sind. Je großer dieser Array wird, desto länger wird die Initialisierung des Designers
  • "prefetch-fonts" – der Array mit den Fonts, die nach der Initialisierung verfügbar werden. Zu dieser Zeit werden die Seite und Instrumenten-Panel sichtbar;
  • "scale-mobile" – der Maßtab der Seite für die Default-Vorschau des Designers auf den mobilen Geräten (von 0 bis 2);
  • "scale" – der Default-Maßtab der Seite масштаб страницы по умолчанию для просмотра дизайнера со всех других устройств (от 0 до 2);
  • "grid" – der Schritt des Netzes;
  • "sticky-grid" – Die Komponente zum Netz feststellen (true/false);
  • "hotkeyProhibited" – „Hot“-Tasten verbieten
  • "save_success_redirect": 
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);
 },
  • "colors": 
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;
 },
  • "show-band-title" – den Titel des Bands zeigen;
  • "add-bands" – das Addieren des Bands verbieten;
  • "resize-bands" - возможность запретить изменять размер бендов;
  • "movable-components" - возможность запретить перемещение компонентов;
  • "resizable-components" - возможность запретить изменять размер компонентов;

 Customer-Paneel (auf der linken Seite, Instrumenten-Paneel mit den Tasten)

  • "customization": 
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.

20. April 2023

How to update FastReport Online Designer to the latest version

Step-by-step instructions for updating FastReport Online Designer to the latest version via the client panel.
14. März 2023

Zukunft der mit Blazor WebAssembly generierten Berichte

Schritt-für-Schritt-Anleitung zum Erstellen einer Demo-Anwendung auf .NET 6 und 7 direkt im Browser mit Blazor WebAssembly in FastReport .NET.
7. März 2023

Konfigurieren einer API für das Build von FastReport Online Designer

Wir sprechen über die Automatisierung des Erstellungsprozesses von FastReport Online Designer Builder über die API, wenn die Produktversion geändert wird.
Fast Reports
  • 800-985-8986 (Englisch, die USA)
  • +4930568373928 (Deutsch)
  • +55 19 98147-8148 (Portugiesisch)
  • info@fast-report.com
  • 66 Canal Center Plaza, Ste 505, Alexandria, VA 22314

© 1998-2024 Fast Reports Inc.