~~Title: DataBook Ereignisse~~
Das IDataBook Interface definiert die möglichen Events die während der Arbeit mit DataBooks auftreten können. Diese Events werden zu unterschiedlichsten Anlässen ausgelöst.
Diese Beschreibung zeigt die möglichen Event Auslöser und die genaue Event Reihenfolge.
===== Auslöser =====
==== Datensätze speichern ====
{{:jvx:client:model:databook:saveselectedrow.png?nolink|}}
==== Änderungen verwerfen ====
{{:jvx:client:model:databook:restoreselectedrow.png?nolink|}}
==== Einfügen von Datensätzen ====
{{:jvx:client:model:databook:insert.png?nolink|}}
==== Ändern von Datensätzen ====
{{:jvx:client:model:databook:update.png?nolink|}}
{{:jvx:client:model:databook:setvalue.png?nolink|}}
==== Löschen von Datensätzen ====
{{:jvx:client:model:databook:delete.png?nolink|}}
==== Zeilenwechsel ====
{{:jvx:client:model:databook:setselectedrow.png?nolink|}}
==== Spaltenwechsel ====
{{:jvx:client:model:databook:setselectedcolumn.png?nolink|}}
==== Aktualisieren der Daten ====
{{:jvx:client:model:databook:reload.png?nolink|}}
==== Zeilenwechsel im Master ====
{{:jvx:client:model:databook:masterchanged.png?nolink|}}
\\
====== Anwendungsbeispiele======
==== Einfügen ====
^Event^Description^
|BEFORE INSERTING|
* Aktuelle Selektion wechseln um z.B. immer in der ersten oder letzten Zeile einzufügen
* Exception verursachen um Einfügen zu verhindern
|
|AFTER INSERTING|Default Werte setzen|
|BEFORE INSERTED|
* Eingabeabhängige Änderung von Werten
* Wenn writeback deaktiviert ist, dann kann z.B. eine Server Action aufgerufen werden um das Insert durchzuführen
|
|AFTER INSERTED|Daten aus der Server Tier verarbeiten|
==== Änderungen ====
^Event^Description^
|BEFORE UPDATING|Manuelles Locking|
|AFTER UPDATING|Visibility oder En/Disable von Komponenten steuern z.B. wenn Editieren nicht erlaubt ist|
|BEFORE UPDATED|
* Dynamische Spalten berechnen und Werte in writeback Spalten übernehmen
* Wenn writeback deaktiviert ist, dann kann z.B. eine Server Action aufgerufen werden um das Update durchzuführen
|
|AFTER UPDATED|Daten aus der Server Tier verarbeiten|
==== Löschen ====
^Event^Description^
|BEFORE DELETING|
* Exception auslösen um Löschen zu verhindern
* Lösch Abfrage. Dazu wird der Isolation Level auf DATA_SOURCE gesetzt und ein Info Dialog angezeigt. Bei Bestätigung wird ''saveSelectedRow()'' aufgerufen und der Isolation Level wieder zurückgesetzt. Bei Abbruch wird restoreSelectedRow() aufgerufen und der Isolation Level wieder zurückgesetzt.
|
|AFTER DELETING|''saveSelectedRow()'' im DATA_SOURCE Isolation Level aufrufen|
|BEFORE DELETED|Wenn writeback deaktiviert ist, dann kann z.B. eine Server Action aufgerufen werden um das Delete durchzuführen|
|AFTER DELETED|Summen berechnen|
==== Verwerfen und Wiederherstellen ====
^Event^Description^
|BEFORE RESTORE|Exception auslösen um Änderungen NICHT zu verwerfen|
|AFTER RESTORE|GUI/Status aktualisierungen|
==== Wertänderung ====
^Event^Description^
|VALUE CHANGED|
* Abhängige Werte ändern
* Den geänderten Wert zurücksetzen
* Zeile speichern bei jeder Wertänderung
|
==== Zeilenwechsel ====
^Event^Description^
|BEFORE ROW SELECTED|Exception auslösen um das Verlassen der Zeile zu verhindern|
|AFTER ROW SELECTED|Visibility oder En-/Disable von Komponenten steuern nach einem Zeilenwechsel|
==== Spaltenwechsel ====
^Event^Description^
|BEFORE COLUMN SELECTED |Exception auslösen um das Verlassen der Spalte zu verhindern|
|AFTER COLUMN SELECTED|Visibility oder En-/Disable von Komponenten steuern nach einem Spaltenwechsel|