Grid: Zeile(n) hinzufügen

Aktionen - Kurzfassung

Die Aktion Grid: Zeile hinzufügen fügt eine oder mehrere Zeilen zur Liste in einem als Zielelement verknüpften Datengrid oder einem der anderen Listenelemente hinzu, sofern die Service-Konfiguration des Zielelements das zulässt.

Siehe auch: Grid: Füllen, Grid: Leeren, Grid: Zeile(n) entfernen, Grid: Ausgewählte Zeilen ersetzen

Die Aktion Grid: Zeile hinzufügen fügt eine oder mehrere Zeilen zur Liste in einem als Zielelement verknüpften Datengrid oder einem der anderen Listenelemente hinzu, sofern die Service-Konfiguration des Zielelements das zulässt.

images/download/attachments/189434207/image-2024-10-14_8-44-20-version-1-modificationdate-1728888260504-api-v2.png

WICHTIG◄ Die Angabe eines Zielelements aus der Gruppe der Listenelemente ist erforderlich, damit diese Aktion unter Typ der Aktion überhaupt ausgewählt werden kann.

Die dem Zielelement hinzuzufügenden Zeilen müssen als Eingabedaten ($input) für die Aktion vorliegen.

  • Die Option Aktualisieren wenn vorhanden ist per Standard gesetzt. Mit dieser Einstellung wird für jede hinzuzufügende Zeile geprüft, ob das zugehörige Datenobjekt bereits im Zielelement enthalten ist. Ist dies der Fall, wird der betreffende Eintrag im Zielelement mit den Daten aus dem $input aktualisiert. Ein Objekt mit identischem Inhalt (z. B. eine Kopie des Originals) gilt dabei allerdings nicht als Treffer.

  • Ist die Option Aktualisieren wenn vorhanden nicht gesetzt, werden die hinzuzufügenden Zeilen dem Zielelement immer als Kopie hinzugefügt.

Beispiel

In Zusammenhang mit einem LKW-Transport sollen per Portal Informationen zum Fahrzeugtyp der Zugmaschine erfasst werden. Die im firmeneigenen Fuhrpark verfügbaren Standard-Zugmaschinen sind als Optionen in einem Auswahlfeld/Combobox-Element (mit der Darstellungsart "Optionen") hinterlegt. Bei Bedarf sollen aber auch Daten für Nicht-Standard-Zugmaschinen "spontan" - also ohne die Anlage zusätzlicher Stammdaten - ergänzt werden können. Diese sollen für den jeweiligen Transport als zusätzliche Option im Auswahlfeld/Combobox-Element erscheinen. Wenn die betreffende Option ausgewählt wird, sollen die hinterlegten Detaildaten erneut eingeblendet werden, damit ggf. Korrekturen möglich sind.

Laufzeit-Beispiel:

  • Initial bietet das Formular genau drei Standardtypen für die Zugmaschine zur Auswahl an:

    images/download/attachments/189434207/image2020-7-8_10-18-38-version-1-modificationdate-1728888254701-api-v2.png



  • Ein Klick auf den Button "Anderer Typ?" blendet unterhalb der Optionen ein Spaltenlayout für die Eingabe von Details für einen zusätzlichen Zugmaschinentyp ein:

    images/download/attachments/189434207/image2020-7-8_10-22-14-version-1-modificationdate-1728888254704-api-v2.png



  • Sofern das Spaltenlayout "Nicht-Standard-Zugmaschine" valide Daten enthält (hier: alle Pflichtfelder ausgefüllt), fügt ein Klick auf den Button "Übernehmen" den entsprechenden Eintrag als zusätzliche Option für "Zugmaschine (Typ)" hinzu, wählt diese aus und blendet das Spaltenlayout "Nicht-Standard-Zugmaschine" wieder aus:

    images/download/attachments/189434207/image2020-7-8_10-25-24-version-1-modificationdate-1728888254707-api-v2.png

Die Datenstruktur eines Zugmaschinentyps im Auswahlfeld/Combobox-Element mit dem Datenfeld truck wird im Struktur-Export für das Portal mit dieser Ergänzung deutlich:

{
"truck": {
"type": "FERRARI FYT",
"hp": 220,
"registration": "Y-123456"
}
}

Die Detail-Datenfelder für "Typ" (type) und "Leistung (PS)" (hp) werden auch in den Standard-Einträgen verwendet, die im Beispiel als "Statische Werte" in der Service-Konfiguration für das Auswahlfeld/Combobox-Element eingetragen wurden.

Die Pflichtangabe "Kennzeichen" (registration) wird nur für Nicht-Standard-Zugmaschinentypen verwendet, sodass ein Wert für dieses Merkmal den Eintrag als "Nicht-Standard-Typ" ausweist. Im "Beschriftungsausdruck" innerhalb der Service-Konfiguration erscheint dann wie im Screenshot zu sehen ein angehängter Asterisk (*).

Konfiguration:

images/download/attachments/189434207/image-2024-10-14_9-25-25-version-1-modificationdate-1728890725155-api-v2.png

Für den Button "Anderer Typ?" neben dem Auswahlfeld/Combobox "Zugmaschine (Typ)" wird das links abgebildete Verhalten konfiguriert, das das Spaltenlayout mit den Details für eine "Nicht-Standard-Zugmaschine" anzeigen und initialisieren soll:

  • Das Verhalten reagiert auf den Auslöser Angeklickt der den Standardwert $true als $input bereitstellt. Das ist ausnahmsweise von Bedeutung, weil dieses Verhalten außerdem auch durch eine Verhalten ausführen-Aktion aufgerufen werden kann, die dann als $input den aktuell ausgewählten Zugmaschinentyp bereitstellt.


  • Die Verhaltensweise Berechnen wurde gewählt, um per Prüfungsausdruck festzustellen, ob als $input der Wert $true vorliegt oder nicht. Die Aktionen bei "wahr" werden nur ausgeführt, wenn dies zutrifft, also wenn der Button "Anderer Typ?" gedrückt wurde. Die Aktionen bei "falsch" werden dagegen ausgeführt, wenn das Verhalten aufgerufen wurde, weil im Auswahlfeld/Combobox "Zugmaschine (Typ)" interaktiv ein "Nicht-Standard-Typ" für die Zugmaschine gewählt wurde, dessen Daten dann im Detailbereich erscheinen sollen.


  • Unter den Aktionen bei "wahr" wird die Aktion Leere Elementdaten setzen mit dem Spaltenlayout "Nicht-Standard-Zugmaschine" als Zielelement ausgeführt, damit dieses mit einem leeren Datenobjekt initialisiert wird und verwendet werden kann, um Daten für einen neuen Typ zu pflegen. Anschließend wird dasselbe Zielelement per Element anzeigen sichtbar und der Button "Anderer Typ?" per Element verbergen unsichtbar gesetzt.


  • Die Aktionen bei "falsch" folgen demselben Schema, abgesehen davon, dass im ersten Schritt das Spaltenlayout nicht mit leeren Elementdaten initialisiert wird. Stattdessen werden die Eingabedaten ($input) per Elementdaten setzen in das Spaltenlayout gesetzt, also die Daten des beim Aufruf des Verhaltens (nicht im Screenshot) per Auswahlfeld/Combobox ausgewählten Zugmaschinentyps. Diese Daten können dann bei Bedarf aktualisiert werden, indem der Button "Übernehmen" (s. u.) gedrückt wird.

images/download/attachments/189434207/image-2024-10-15_8-50-21-version-1-modificationdate-1728975021552-api-v2.png

Für den Button "Übernehmen" im Spaltenlayout für die Definition einer "Nicht-Standard-Zugmaschine" wird das links abgebildete Verhalten konfiguriert:

  • Das Verhalten reagiert auf den Auslöser Angeklickt.


  • Die Verhaltensweise Element validieren überprüft das als Zielelement verknüpfte Spaltenlayout "Nicht-Standard-Zugmaschine". Nur wenn alle enthaltenen Elemente valide befüllt sind werden die Aktionen bei "wahr" mit den validierten Daten ausgeführt. Solange Angaben fehlen oder ungültige vorliegen, ist ein Klick auf "Übernehmen" - solange keine Aktionen bei "falsch" definiert sind - schlicht wirkungslos.


  • Unter den Aktionen bei "wahr" wird die Aktion Grid: Zeile hinzufügen mit dem Auswahlfeld/Combobox "Zugmaschine (Typ)" als Zielelement ausgeführt. Dabei wird die Option Aktualisieren wenn vorhanden gesetzt, damit ggf. Korrekturen (s. oben) an einem bereits hinzugefügten Eintrag möglich sind, ohne dass ein Duplikat für den bestehenden Eintrag entsteht.


  • Nach dem Hinzufügen der neuen Option wird diese per Wert setzen mit demselben Zielelement auch gleich als Auswahl zugewiesen. Der Wert verweist dabei auf den $input, der das hinzugefügte Datenobjekt enthält.


  • Per Aktion Element verbergen (im Screenshot zugeklappt) mit dem Spaltenlayout "Nicht-Standard-Zugmaschine" als Zielelement wird der Detailbereich wieder ausgeblendet.


  • Die Aktion Element anzeigen (im Screenshot zugeklappt) bezieht sich auf den Button "Anderer Typ?" als Zielelement, der beim Einblenden des Detailbereichs ausgeblendet wird und nach dem "Übernehmen" der Details wieder sichtbar werden soll.