Tipps & Tricks - Parameter - Elterndatensatz mit Kinddatensätzen speichern
Dieser Beitrag zeigt, wie gleichzeitig mit einem neuen Datensatz eine beliebige Anzahl von untergeordneten Datensätzen angelegt und gespeichert werden können. Hier finden Sie eine ZIP-Datei mit einer Beispiel-App, die Sie wie gewohnt in ein Portal importieren können.
Beispielapplikation im Web
Ist die Beispielapplikation im Browser geöffnet, so kann auf der Startseite "Übersicht" mit Klick auf "Neu" ein neuer Elterndatensatz angelegt werden.
Im folgenden Tooltip können jetzt Daten für den Elterndatensatz im Eingabefeld eingetragen werden. Ein Klick auf "Kinddatensatz hinzufügen" blendet ein weiteres Eingabefeld ein, in dem Daten eingetragen werden können. Mit Klick auf "Kinddatensatz hinzufügen" kann eine beliebige Anzahl von Eingabefeldern eingeblendet und damit eine beliebige Anzahl von Kinddatensätzen erstellt werden. Mit Klick auf "OK" werden alle Kinddatensätze und auch der zugehörige Elterndatensatz gespeichert. Die 1:n-Beziehung zwischen Eltern- und Kinddatensätzen wird dabei automatisch hergestellt.
Auf der Übersichtsseite können die Kinddatensätze mit einem Klick auf die Lupen-Schaltfläche links neben der ID angezeigt werden.
Aufbau der Beispielapplikation
Um einen Elterndatensatz zusammen mit einer beliebigen Anzahl von Kinddatensätzen anzulegen, müssen die im Folgenden beschriebenen Voraussetzungen erfüllt sein.
Primärschlüssel der Elterndatengruppe mit Datentyp "GUID"
Der Primärschlüssel der Elterndatengruppe muss den Datentyp "GUID" haben.
Parameter der Eingabeseite
Die Einstellung "Parameter wird nur für bestehende Datensätze verwendet" muss beim STRID-Parameter der Eltern-Datensatz-Eingabeseite deaktiviert werden.
Benötigt wird der beim Paramter "STRID" neu angelegte Fallbackwert "uniqueGuid", mit dem eine neue GUID erzeugt wird.
Zusätzliches Binding im WriteContainer der Elterndatengruppe
Beim Writecontainer des Elterndatensatzes muss ein Binding für den Datensatz eingestellt werden. Dazu wird als Quelle "Parameter", als Parameter "STRID" und als Ziel der Primärschlüssel ausgewählt.
Zusätzliches Binding für die Schaltfläche "OK"
In den Aktionen der Schaltfläche "OK", die den Elterndatensatz mit allen Kinddatensätzen zusammen speichern soll, muss der Writecontainer der Frei gestalteten Tabelle hinzugefügt werden.
Konfiguration der Frei gestalteten Tabelle
In der Frei gestalteten Tabelle muss die Eingabeseite aus der untergeordneten Datengruppe eingebunden sein.
Schaltfläche für die Anlage der Kinddatensätze
In den Aktionen der Schaltfläche, die Kinddatensätze in der frei gestalteten Tabelle einfügt, muss der Aktionstyp "Datensatz hinzufügen" mit der Kontrolle "Frei gestaltete Tabelle" und dem Parameter "STRID" ausgewählt sein.
Zusammenfassung
Das Besondere an diesem Beispiel ist die Tatsache, dass der Datensatz der Elterndatengruppe noch nicht angelegt ist, bevor die Kinddatensätze angelegt werden. In diesem Fall muss für den Elterndatensatz die eindeutige ID generiert werden. Dies wird mit dem Fallbackwert "uniqueGuid" erreicht, der automatisch eine neue GUID erzeugt. Dieser Wert muss dann über die Schaltfläche "Kinddatensatz hinzufügen" an die Eingabeseite der freien Tabelle übergeben werden. Die Abhängigkeit macht es erforderlich, dass der Fremdschlüssel entsprechend vorliegt.