Dynamisches Formular

Allgemeiner Zusammenhang


Lassen Sie sich nicht abschrecken. Es sieht nur auf den ersten Blick kompliziert aus. Die Grundidee ist, dass das Daten-Profil (über das Formular-Profil) aus dem Formular Daten bekommt, diese verändert und dann wieder zurück schickt. Es handelt sich also nur um eine Ergänzung zur manuellen Dateneingabe im Formular. Am Ende werden die Daten wie bisher an das Formular-Profil gesendet.


images/download/attachments/137300223/12-version-1-modificationdate-1733119033312-api-v2.png


Auf unseren bisherigen Formular-Seiten haben wir über Formulare Daten übergeben. Zudem haben wir gezeigt, wie man Vorgabewerte oder Auswahlwerte für Felder definieren kann.

Nun wollen wir zeigen, wie man, als Reaktion auf Eingabewerte im Formular, Werte an das Formular zurück geben kann. Dazu verwenden wir als Basis unser bisheriges Beispiel. Anstatt eine Bestellnummer und Artikelnummern einzugeben und an das Formular-Profil zu schicken, möchten wir nun eine einfache Suchfunktionalität entwickeln. Wir geben eine Bestellnummer ein und möchten, dass anschließend das Formular mit allen Artikelnummern zu dieser Bestellnummer gefüllt wird.

Technisch ist das so umgesetzt, dass ein weiteres, sogenanntes Daten-Profil einem Knoten im Formular-Profil zugeordnet wird. Dieses Daten-Profil kann auf verschiedene Arten angestoßen werden (initial beim Öffnen des Formulars, bei Wertänderungen in Formular-Feldern oder schlicht durch das Drücken auf einen Button).


images/download/attachments/137300223/13-version-1-modificationdate-1733119033314-api-v2.png


Wir geben also im Formular eine Bestellnummer ein und aufgrund dieser Wertänderung, oder weil wir einen Button drücken, möchten wir, dass uns das Daten-Profil im Formular die Artikelnummern zu dieser Bestellnummer einfügt.

Hinweis: Die beiden Diagramme sind vereinfacht dargestellt, um die Datenquellen des Formulars zu zeigen. Technisch ist es so, dass das Daten-Profil seine Ausgangsdaten an das Formular-Profil (in das es ja eingebunden ist) zurück gibt und das Formular-Profil baut die Formular-Seite auf (mit den integrierten dynamischen Daten).

Daten-Profil erzeugen/einbinden/triggern


Siehe Abschnitte Daten-Profil erzeugen/einbinden/triggern und Dynamische Auswahlwerte.

Weiterführende Hinweise zur Datenauswertung


Wertänderungen auswerten


Will man im Formular-Profil auswerten, ob Datensätze (Zeilen) in einer Datenliste erzeugt, geändert oder gelöscht wurden, kann man ein zusätzliches Feld mit dem Namen row_change_kind (genau so) und dem Wert _hidden_ für die Feldeigenschaft DataCockpit Steuerung im zugehörigen Knoten erzeugen. Dieses Feld erhält dann automatisch jeweils einen der Werte created, updated oder deleted oder ist leer und zeigt damit die Änderungsart der Zeile an. Wichtiger Hinweis: Wenn Sie mehrere Felder row_change_kind verwenden, dann erhalten diese einen Feldnamen-Suffix (z. B. row_change_kind-1), da Feldnamen eindeutig sein müssen. Verwenden Sie dann bitte auf allen diesen Feldern eine Satzarterkennungen mit der Bedingung Ist gleich und dem Wert row_change_kind.

Werte von außerhalb des Datenknotens übergeben


Es ist möglich, den aktuell Wert eines Formular-Feldes, das sich außerhalb des Knotens befindet, das das Daten-Profil zugeordnet hat, an das Daten-Profil zu übergeben. Setzen Sie dazu in der Eigenschaft DataCockpit Steuerung dieses Feldes den Wert _keepInSession_.

Beispiel-Profile


Siehe Abschnitt Beispiel-Profile (dynamisches Formular).