XdevFormular

Anfang  Zurück  Vor

Letzte Änderung 16.01.2014

 

clip0063

 

Die Komponente XdevFormular ist ein spezieller Container, der eine Vielzahl komfortabler Methoden für die Bearbeitung von Formularen sowie für die Verarbeitung von Formular-Daten zur Verfügung stellt, u.a.

Automatisiertes Auslesen sämtlicher Formular-Daten

Validierung

Unterscheidung zwischen neu angelegtem und lediglich editiertem Datensatz und automatisch korrekter Persistierung der Daten per SQL-Insert oder -Update.

Funktionen für Speichern, Überschreiben und Löschen eines Datensatzes

Rückgabe der ID eines neu angelegten Datensatzes

Automatische Generierung einer Abfragebedingung (Where-Condition) für ein komplettes  (Such-)Formular

Interaktion mit Tabellen durch Verknüpfung - Automatisierte Übergabe von Datensätzen zwischen XdevTable und Formular

 

Um diese Funktionen nutzen zu können, müssen sämtliche Formular-Komponenten (XdevTextField, XdevTextArea, XdevListBox etc.) die zu einem Formular gehören sollen, direkt in dem Formular-Container liegen. Durch das Container-Prinzip ergibt sich nebenbei eine sinnvolle Gruppierung der zu einem Formular gehörenden Formular-Komponenten auf der Oberfläche , was beim Designen der GUI sehr hilfreich ist.

 

 

Was zu einem Formular gehört

 

Aus Anwendersicht gehören zu einem Formular alle

Eingabe- und Auswahlfelder, die sich in einem meist optisch abgegrenzten Bereich des Formulars befinden

Informationen, die beim Drücken des Speichern Buttons abgespeichert werden.

 

In XDEV 5 gehören zu einem Formular jedoch ausschließlich die Formular-Komponenten, deren Eingabe oder Auswahl in ein- und derselben Datenbanktabelle abgespeichert werden.

 

Wichtig: Ein Formular speichert Daten ausschließlich in 1 Datenbanktabelle! Zum Beispiel ein Formular Fahrzeug zum Bearbeiten eines Fahrzeug-Datensatzes, speichert Daten ausschließlich in der Datenbanktabelle Fahrzeuge.

 

clip0526clip0525

 

Dazu müssen alle Formular-Komponenten des Formulars mit Datenfeldern der Virtuellen Tabelle Fahrzeuge verknüpft sein, über die die Daten in die Datenbanktabelle Fahrzeuge gespeichert werden. Diese Verknüpfung lässt sich bei jeder Formular-Komponente bei der Eigenschaft Datenfeld vornehmen und erfolgt bei generierten Formularen automatisch.

 

clip0527

 

 

Wenn Sie Daten in verschiedene Datenbanktabellen speichern möchten, z.B. Many-to-Many Daten (n:m Relationen), müssen Sie dafür mehrere Formulare anlegen und beim Speichern Button entsprechend viele Speicherfunktionen nacheinander als Transaktion ausführen.

 

 

Wichtigste Methoden

 

reset

 

Mit diesem Aufruf wird das Formular / die Formularkomponenten auf Ihre Standardwerte zurückgesetzt.

 

Wichtigste Überladungen:

reset()

// Setzt die Formularkomponenten auf Ihre Standardwerte zurück
formular.reset();

 

reset(VirtualTable vt)

vt: Mit diesem Aufruf wird das Formular / die Formularkomponenten auf die Standardwerte der übergebenen Virtuellen Tabelle zurückgesetzt..

// Setzt die Formularkomponenten auf die Standardwerte der übergebenen Virtuellen Tabelle zurück
formular.reset(VirtualTable vt)

 

 

save(boolean synchronizeDB)

 

Das Formular wird gespeichert, d.h. es wird in die entsprechende Virtuelle Tabelle übertragen und dort ein neuer Datensatz erzeugt, bzw. ein bestehende VirtualTableRow geändert.

Ist der Parameter synchronizeDB auf true gesetzt, werden die Änderungen auch in die Datenbank übertragen. Bei false ist dies nicht der Fall.

synchronizeDB - Gibt an, ob der gespeicherte Datensatz in die Datenbank übertragen werden soll, oder nicht.

//Speichert den Datensatz sowohl in der Virtuellen Tabelle, als auch in der Datenbank ab
formular.save(true);

 

//Der folgende Aufruf ist ein Synonym für den Aufruf mit dem Parameter true im obigen Beispiel
formular.save();

 

 

verifyFormularComponents() : boolean

 

Es wird überprüft, ob alle Komponenten, die in dem Formular liegen, korrekte Eingaben enthalten.

Trifft dies zu, wird true zurückgegeben. Schlägt die Validierung fehl, wird eine MessageBox angezeigt und false zurückgegeben.

Rückgabewert: Gibt eine boolsche Variable zurück, je nachdem, ob alle Formularkomponenten erfolgreich überprüft werden konnten oder nicht.

//Prüft, ob alle Formularkomponenten valide Inhalte besitzen
boolean verified = formular.verifyFormularComponents();