Berichts- und Viewerereignisse geschrieben, und in diesem Artikel lernen wir mehr über die Designerereignisse.
onPrepareVariables
Das Ereignis wird am Anfang des Renderns des Berichtes vor dem Ausfüllen der Variablen im Bericht aufgerufen. Das Ereignis entsteht sofort nach der Verarbeitung des Ereignisses onPrepareVariable bei der Instanz StiReport. Die Liste der Argumente des Ereignis-Behandlers:
onBeginProcessData
Das Ereignis wird vor der Anfrage der Daten, die für Erstellen vom Bericht erforderlich sind, aufgerufen, und entsteht sofort nach der Verarbeitung des Ereignisses onBeginProcessData bei der Instanz StiReport. Die Liste der Argumente des Ereignis-Behandlers:
onEndProcessData
Dieses Ereignis wird nach dem Erhalten der Daten, die für Erstellen vom Bericht erforderlich sind, aufgerufen. Das Ereignis entsteht sofort nach der Verarbeitung des Ereignisses onEndProcessData bei der Instanz StiReport. Die Liste der Argumente des Ereignis-Behandlers:
onCreateReport
Dieses Ereignis ermöglicht den neuen Bericht vor der Zuweisung dem Designer zu modifizieren, und wird direkt vor der Zuweisung neuer Vorlage dem Designer aufgerufen. Die Liste der Argumente des Ereignis-Behandlers:
onOpenReport
Dieses Ereignis ermöglicht seine eigene Drucken-Weise des Öffnens der Vorlagen zu realisieren, und wird vor dem Dialogfenster der Datei-Auswahl vom Öffnen des Berichtes aufgerufen. Die Liste der Argumente des Ereignis-Behandlers:
onOpenedReport
Dieses Ereignis ermöglicht den geöffneten Bericht vor der Zuweisung dem Designer zu modifizieren, und wird nach dem Öffnen vom Bericht und vor der Zuweisung dem Designer aufgerufen. Die Liste der Argumente des Ereignis-Behandlers:
onSaveReport
Dieses Ereignis ermöglicht den Bericht vor dem Speichern zu modifizieren oder seine eigene Speichern-Weise zu realisieren.
Das Ereignis wird nach dem Drucken auf die Schaltfläche Speichern und vor dem Speichern aufgerufen. Die Liste der Argumente des Ereignis-Behandlers:
onSaveAsReport
Dieses Ereignis ermöglicht den Bericht vor dem Speichern zu modifizieren oder seine eigene Speichern-Weise zu realisieren.
Das Ereignis wird nach dem Drücken auf die Schaltfläche Speichern als und vor dem Speichern aufgerufen. Die Liste der Argumente des Ereignis-Behandlers:
onPreviewReport
Dieses Ereignis ermöglicht den Bericht vor dem Anzeigen zu modifizieren, und wird vor dem Anzeigen der Vorlage in Vorschau aufgerufen. Die Liste der Argumente des Ereignis-Behandlers:
onExit
Dieses Ereignis ermöglicht das Schließen vom Designer zu realisieren, und wird nach dem Drücken auf die Schaltfläche Abmelden im File Menu aufgerufen.
Um die Schaltfläche zu aktivieren, muss man den folgenden Parameter zu stellen:
Wir haben schon über die Die Designerereignisse
Das Ereignis wird am Anfang des Renderns des Berichtes vor dem Ausfüllen der Variablen im Bericht aufgerufen. Das Ereignis entsteht sofort nach der Verarbeitung des Ereignisses onPrepareVariable bei der Instanz StiReport. Die Liste der Argumente des Ereignis-Behandlers:
{
event: "PrepareVariables",
sender: "Designer",
report: StiReport,
preventDefault: boolean,
async: boolean,
variables: []
}
Ein Beispiel des Ersetzens vom Wert in der Berichtsvariablen:
designer.onPrepareVariables = (args, callback) => {
args.variables[0].value = "Replace value";
}
Das Ereignis wird vor der Anfrage der Daten, die für Erstellen vom Bericht erforderlich sind, aufgerufen, und entsteht sofort nach der Verarbeitung des Ereignisses onBeginProcessData bei der Instanz StiReport. Die Liste der Argumente des Ereignis-Behandlers:
{
sender: "Designer",
event: "BeginProcessData",
report: StiReport,
preventDefault: boolean,
async: boolean,
command: string,
database: string,
connection: string,
headers: [],
withCredentials: string,
// Json
pathData: string,
tryParseDateTime: boolean,
relationDirection: StiRelationDirection,
// Xsd
pathSchema: string,
// Xml
pathData: string,
tryParseDateTime: boolean,
relationDirection: StiRelationDirection,
// Excel
pathData: string,
firstRowIsHeader: boolean,
// OData
connectionString: string,
dataSource: string,
collectionName: string,
// Sql
connectionString: string,
dataSource: string,
queryString: string,
timeout: number,
parameters: { name: string, value: string | number }[],
escapeQueryParameters: boolean,
// Gis
pathData: string,
separator: string,
dataType: StiGisDataType,
// Csv
pathData: string,
separator: string,
codePage: number,
// DBase
pathData: string,
codePage: number
}
Unten ist ein Beispiel des Ersetzens von der Verbindungszeichenfolge dargestellt:
designer.onBeginProcessData = (args) => {
if (args.database == "MySQL")
args.connectionString = "new connection string";
}
Und auch ein Beispiel von eigener Umsetzung des Erhaltens von Daten:
designer.onBeginProcessData = (args, callback) => {
if (args.database == "MySQL"){
args.preventDefault = true;
var result = {
success: true,
rows: [
["value1", 1, false],
["value2", 1, true],
["value3", 2, false]
],
columns: [
"Column1_name",
"Column2_name",
"Column3_name"
],
types:[
"string",
"int",
"boolean"
]
}
// https://github.com/stimulsoft/DataAdapters.JS/
callback(result);
}
}
Dieses Ereignis wird nach dem Erhalten der Daten, die für Erstellen vom Bericht erforderlich sind, aufgerufen. Das Ereignis entsteht sofort nach der Verarbeitung des Ereignisses onEndProcessData bei der Instanz StiReport. Die Liste der Argumente des Ereignis-Behandlers:
{
sender: "Designer",
event: "EndProcessData",
report: StiReport,
command: string,
dataSource: string,
connection: string,
database: string,
result: DataSet|any
}
Ein Beispiel des Korrigierens der Daten vom Adapter:
designer.onEndProcessData = (args) => {
if (args.command == "ExecuteQuery" && args.dataSource == "Categories")
args.result.rows.push(rowData) ;
// https://github.com/stimulsoft/DataAdapters.JS/
}
Dieses Ereignis ermöglicht den neuen Bericht vor der Zuweisung dem Designer zu modifizieren, und wird direkt vor der Zuweisung neuer Vorlage dem Designer aufgerufen. Die Liste der Argumente des Ereignis-Behandlers:
{
sender: "Designer",
event: "CreateReport",
report: StiReport,
preventDefault: boolean,
async: boolean,
isWizardUsed: boolean
}
Ein Beispiel des Hinzufügens von JSON zu neuer Vorlage:
designer.onCreateReport = (args) => {
var report = args.report;
var database = new Stimulsoft.Report.Dictionary.StiJsonDatabase("DemoData", "http://localhost/Demo.json");
report.dictionary.databases.add(database);
report.dictionary.synchronize();
}
Dieses Ereignis ermöglicht seine eigene Drucken-Weise des Öffnens der Vorlagen zu realisieren, und wird vor dem Dialogfenster der Datei-Auswahl vom Öffnen des Berichtes aufgerufen. Die Liste der Argumente des Ereignis-Behandlers:
{
sender: "Designer",
event: "OpenReport",
report: StiReport,
preventDefault: boolean,
async: boolean
}
Ein Beispiel des Unterbrechens des Aufrufes vom Dialogfenster und der Weitergabe von eigener Vorlage:
designer.onOpenReport = (args, callback) => {
args.preventDefault = true;
args.async = true;
args.report = anotherReport;
callback();
}
Dieses Ereignis ermöglicht den geöffneten Bericht vor der Zuweisung dem Designer zu modifizieren, und wird nach dem Öffnen vom Bericht und vor der Zuweisung dem Designer aufgerufen. Die Liste der Argumente des Ereignis-Behandlers:
{
sender: "Designer",
event: "OpenedReport",
report: StiReport,
preventDefault: boolean,
async: boolean
}
Ein Beispiel des Hinzufügens von Ressource in die Berichtsvorlage im asynchronen Modus:
designer.onOpenedReport = (args, callback) => {
args.async = true;
var xhr = new XMLHttpRequest();
xhr.open('GET', "Url to image");
xhr.onload = function () {
var imageData = xhr.response;
var resource = new Stimulsoft.Report.Dictionary.StiResource("ImageName");
resource.content = imageData;
args.report.dictionary.resources.add(resource);
callback();
};
xhr.send();
}
Dieses Ereignis ermöglicht den Bericht vor dem Speichern zu modifizieren oder seine eigene Speichern-Weise zu realisieren.
Das Ereignis wird nach dem Drucken auf die Schaltfläche Speichern und vor dem Speichern aufgerufen. Die Liste der Argumente des Ereignis-Behandlers:
{
sender: "Designer",
event: "SaveReport",
report: StiReport,
preventDefault: boolean,
async: boolean,
fileName: string,
autoSave: boolean
}
Ein Beispiel des Deaktivierens vom Speichern:
designer.onSaveReport = (args, callback) => {
args.preventDefault = true;
var jsonString = args.report.saveToJsonString();
// save report
}
Ein Beispiel des Entfernens von Ressourcen aus der Vorlage:
designer.onSaveReport = (args, callback) => {
var report = args.report.clone();
report.dictionary.resources.clear();
args.report = report;
}
Dieses Ereignis ermöglicht den Bericht vor dem Speichern zu modifizieren oder seine eigene Speichern-Weise zu realisieren.
Das Ereignis wird nach dem Drücken auf die Schaltfläche Speichern als und vor dem Speichern aufgerufen. Die Liste der Argumente des Ereignis-Behandlers:
{
sender: "Designer",
event: "SaveAsReport",
report: StiReport,
preventDefault: boolean,
async: boolean,
fileName: string,
autoSave: boolean
}
Ein Beispiel des Deaktivierens vom Speichern:
designer.onSaveAsReport = (args, callback) => {
args.preventDefault = true;
var jsonString = args.report.saveToJsonString();
// save report
}
Ein Beispiel des Entfernens von Ressourcen aus der Vorlage:
designer.onSaveAsReport = (args, callback) => {
var report = args.report.clone();
report.dictionary.resources.clear();
args.report = report;
}
Dieses Ereignis ermöglicht den Bericht vor dem Anzeigen zu modifizieren, und wird vor dem Anzeigen der Vorlage in Vorschau aufgerufen. Die Liste der Argumente des Ereignis-Behandlers:
{
sender: "Designer",
event: "PreviewReport",
report: StiReport
preventDefault: boolean,
async: boolean,
viewer: StiViewer
}
Ein Beispiel der Veränderung der Eigenschaft reportName bei report:
designer.onPreviewReport = (args) => {
var report = args.report;
report.reportName = "Changed Report Name";
}
Dieses Ereignis ermöglicht das Schließen vom Designer zu realisieren, und wird nach dem Drücken auf die Schaltfläche Abmelden im File Menu aufgerufen.
Um die Schaltfläche zu aktivieren, muss man den folgenden Parameter zu stellen:
designerOptions.toolbar.showFileMenuExit = true
Ein Beispiel des Entfernens von div mit dem Designer aus der Seite:
var designerOptions = new Stimulsoft.Designer.StiDesignerOptions();
designerOptions.toolbar.showFileMenuExit = true;
var designer = new Stimulsoft.Designer.StiDesigner(designerOptions, "StiDesigner", false);
designer.renderHtml("content");
designer.onExit = () => {
var designerDiv = document.getElementById("content");
designerDiv.parentNode.removeChild(designerDiv);
}
Wenn Sie Fragen haben, kontaktieren Sie uns.