Sie zeigen eine alte Version dieser Seite an. Zeigen Sie die aktuelle Version an.

Unterschiede anzeigen Seitenhistorie anzeigen

« Vorherige Version anzeigen Version 38 Nächste Version anzeigen »

Ein viel verwendeter Anwendungsfall ist, dass eine nicht vorher bekannte Anzahl an Dateien hochgeladen werden sollten. Statt einfach 10 Uploadfelder im Formular einzufügen, können vom User weitere Felder eingefügt oder vorhandene gelöscht werden. Beispiele sind unter Punkt 6 Editiermodus zu finden.

Alternative > Alternative Wiederholung / Zusätzliche Felder dynamisch anzeigen

Konfiguration Editiermodus Tabelle

1. Feste Anzahl Zeilen

Die eingestellten Zeilen, in der Konfiguration der Tabelle, werden angezeigt und sind beim Ausfüllen des Formulars nicht änderbar.

2. Minimale Anzahl Einträge

Anzahl der Wiederholungen, die erstellt werden. Bedeutet, dass die Anzahl Wiederholungen (wenn ein Feld obligatorisch ist) zwingend vom User erfasst werden müssen. Macht in Kombination mit Punkt 2 Sinn.

3. Minimale Einträge automatisch anlegen

Wird diese Option gewählt, wird die unter 1 erfasste Anzahl Wiederholungen direkt angezeigt / angelegt.

4. Maximale Anzahl Einträge

Anzahl der für den User verfügbaren Wiederholungen. Es empfiehlt sich genau zu überlegen, was im Anwendungsfall sinnvoll ist. Uneingeschränkte Anzahl Wiederholungen ist selten nötig und kann die Performance einschränken. Achtung, bei Dateiuploads kann eine Beschränkung der Anzahl Wiederholungen im Zusammenspiel mit der maximalen Dateigrösse zu Problemen führen, wenn die Dateien per E-Mail übermittelt werden - maximale Grösse der Beilagen!

5. Maximale Einträge automatisch anlegen

Es werden alle Wiederholungen direkt angelegt. Wird in der Tabellenansicht verwendet und macht in der "serial" Konfiguration unter Punkt 6 keinen Sinn.

6. Spaltenüberschriften anzeigen

Wird diese Option gewählt, wird der Spaltentitel angezeigt.

7. Kontrollschaltflächen anzeigen?

Wird diese Option gewählt (empfohlen), zeigen sich die "weiteren Eintrag hinzufügen" oder "Eintrag löschen". Wenn unter Punkt 4 die maximale Anzahl schon erstellt wurde, macht diese Option weniger Sinn.

7.1 Kontrollschaltflächen konfigurieren

Standardmässig sind die Aktionen "Eintrag hinzufügen" und "Eintrag löschen" für die Liste aktiv. Mit der JEP-Funktion 'setListControlAccess()' lassen sich die Aktionen konfigurieren und entsprechend ein- und ausblenden.
Dazu muss eine Regel auf der Liste erstellt werden:

Folgende Konfigurationsparameter sind verfügbar:

JEP-FunktionAktionWerteJEP Beschreibung
setListControlAccess()delete
  • true
  • false

add
  • true
  • false
copy
  • true
  • false
copyContent
  • true
  • false
edit
  • true
  • false
moveUp
  • true
  • false
moveDown
  • true
  • false
paste
  • true
  • false

8. Editiermodus

Definiert, wie sich die Wiederholung beim User zeigt. Siehe dazu auch die Beispiele oben.

serialtabellemasterDetailmasterDialog
Die Wiederholungen werden
vollständig dargestellt.
Die Wiederholungen werden direkt
in der Tabelle dargestellt und auch
dort bearbeitet.
Der Master zeigt die Wiederholung
als Werte in einer Tabelle. Die gewählte
Wiederholung kann unter der Master-
Tabelle erfasst oder bearbeitet werden.

Der Master zeigt die Wiederholung
als Werte in einer Tabelle. Die gewählte
Wiederholung wird als schwebendes
Dialog-PopOver dargestellt.

Beispiele

Beispiel


Master-Tabelle

Hinzufügen und Bearbeiten
als Dialogfenster

Wichtig, je nach Custom Design können die Darstellungen abweichen, respektive müssen jeweils entsprechend als Styles (CSS) definiert sein.

9. Pluginklasse

Java Klasse, welche Spezialprogrammierungen erfasst werden.

10. Tabellenhöhe dynamisch?

Die Tabelle ist so hoch, dass alle Zeilen dargestellt werden. Diese Höhe passt sich automatisch an die Anzahl Zeilen an.


Konfiguration Editiermodus Serial

1. Minimale Anzahl Einträge

Anzahl der Wiederholungen, die erstellt werden. Bedeutet, dass die Anzahl Wiederholungen (wenn ein Feld obligatorisch ist) zwingend vom User erfasst werden müssen. Macht in Kombination mit Punkt 2 Sinn.

2. Minimale Einträge automatisch anlegen

Wird diese Option gewählt, wird die unter 1 erfasste Anzahl Wiederholungen direkt angezeigt / angelegt.

3. Maximale Anzahl Einträge

Anzahl der für den User verfügbaren Wiederholungen. Es empfiehlt sich genau zu überlegen, was im Anwendungsfall sinnvoll ist. Uneingeschränkte Anzahl Wiederholungen ist selten nötig und kann die Performance einschränken. Achtung, bei Dateiuploads kann eine Beschränkung der Anzahl Wiederholungen im Zusammenspiel mit der maximalen Dateigrösse zu Problemen führen, wenn die Dateien per E-Mail übermittelt werden - maximale Grösse der Beilagen!

4. Maximale Einträge automatisch anlegen

Es werden alle Wiederholungen direkt angelegt. Wird in der Tabellenansicht verwendet und macht in der "serial" Konfiguration unter Punkt 6 keinen Sinn.

5. Kontrollschaltflächen anzeigen?

Wird diese Option gewählt (empfohlen), zeigen sich die "weiteren Eintrag hinzufügen" oder "Eintrag löschen". Wenn unter Punkt 4 die maximale Anzahl schon erstellt wurde, macht diese Option weniger Sinn.

5.1 Kontrollschaltflächen konfigurieren

Standardmässig sind die Aktionen "Eintrag hinzufügen" und "Eintrag löschen" für die Liste aktiv. Mit der JEP-Funktion 'setListControlAccess()' lassen sich die Aktionen konfigurieren und entsprechend ein- und ausblenden.
Dazu muss eine Regel auf der Liste erstellt werden:

Folgende Konfigurationsparameter sind verfügbar:

JEP-FunktionAktionWerteJEP Beschreibung
setListControlAccess()delete
  • true
  • false

add
  • true
  • false
copy
  • true
  • false
copyContent
  • true
  • false
edit
  • true
  • false
moveUp
  • true
  • false
moveDown
  • true
  • false
paste
  • true
  • false

6. Editiermodus

Definiert, wie sich die Wiederholung beim User zeigt. Siehe dazu auch die Beispiele oben.

serialtabellemasterDetailmasterDialog
Die Wiederholungen werden
vollständig dargestellt.
Die Wiederholungen werden direkt
in der Tabelle dargestellt und auch
dort bearbeitet.
Der Master zeigt die Wiederholung
als Werte in einer Tabelle. Die gewählte
Wiederholung kann unter der Master-
Tabelle erfasst oder bearbeitet werden.

Der Master zeigt die Wiederholung
als Werte in einer Tabelle. Die gewählte
Wiederholung wird als schwebendes
Dialog-PopOver dargestellt.

Beispiele

Beispiel


Master-Tabelle

Hinzufügen und Bearbeitenals Dialogfenster

Wichtig, je nach Custom Design können die Darstellungen abweichen, respektive müssen jeweils entsprechend als Styles (CSS) definiert sein.

7. Pluginklasse

Java Klasse, welche Spezialprogrammierungen erfasst werden.

8. Tabellenhöhe dynamisch?

Die Tabelle ist so hoch, dass alle Zeilen dargestellt werden. Diese Höhe passt sich automatisch an die Anzahl Zeilen an.

9. Layout

Legt fest wie sie

10. Spaltendefinition (zu verwendende Elemente)

Je zu wiederholendes Formular-Element muss ein Eintrag erfasst werden. Die Konfiguration des einzelnen Eintrages erfolgt unterhalb und verhält sich dem gewählten Formular-/Feldtyp entsprechend.

FunktionsmenuZeilenüberschrift

Beschriftungen 

Es werden die bekannten Funktionen angeboten.

Komponente wählen.

Referenz oder Kopie einer (globalen) Komponente.

Wird bei der Tabellenansicht in  "linken Spalte" angezeigt.

Wird bei der Schaltfläche "hinzufügen" angezeigt oder als ToolTipp hinterlegt.

Hinweis *)


Wird bei der Schaltfläche "kopieren" angezeigt oder als ToolTipp hinterlegt.

Hinweis *)

Wird bei der Schaltfläche "löschen" angezeigt oder als ToolTipp hinterlegt.

Hinweis *)

*) Je nach Custom Design werden die Schaltflächen ausgeblendet oder anders dargestellt.

11. Name

Entspricht dem Feldnamen (technisch). Muss eindeutig sein und den Kriterien einer Variable entsprechen.

12. Breite

Definiert die Anzeigebreite. Die effektiven Breiten (% oder Wert) der angebotenen Auswahl werden im Style-Sheet (CSS) definiert. Siehe Beispiel am Anfang der Seite.

13. Wert nicht serialisieren?

Nur Anzeige, nicht übermitteln / ins XML schreiben.

14. In Tabelle anzeigen?

Um eine Tabelle übersichtlich zu halten, kann es sinnvoll sein, bestimmte Feldwerte in der Tabellenansicht auszublenden.

15. Horizontale Ausrichtung?

Ausrichtung in der Tabellenansicht. Kann sinnvoll sein, wenn ein Betrag oder Zahlenwert rechts ausgerichtet werden soll.

16. Konfiguration des unter Punkt 10 ausgewählten Elementes?

Unterhalb zeigt sich die eigentliche Konfiguration des Formular-Elementes. Es kann sein, dass sich diese Konfigurationsmöglichkeiten eingeschränkt sind, da sich nicht bei jedem Typ jede Konfigurationsmöglichkeit in der Wiederholung umsetzen lässt.

Konfigurationsanleitung je Formular-Element ist der entsprechenden Beschreibung zu entnehmen.

ACHTUNG: Aktuell sind nicht alle Elemente in der Tabelle verfügbar.

Tipps und Tricks zur Anwendung einer Tabelle

Insbesondere Formeln / Sichtbarkeiten und Regeln müssen bei der Verwendung innerhalb einer Tabelle anders (dynamisch) funktionieren. Entsprechend benötigt die Anwendung mehr Vorkenntnisse zum Thema.

Die grösse Herauforderung ist, dass sich die Tabelle und deren Inhalte verändert, verändern kann und somit die Elemente (z.B. Name) auf jeder Zeile wieder vorkommen. Daher wird die Tabellenstruktur (Zeilen/Spalten) beim Adressieren (Ansprechen) der Elemente verwendet.

Beispiel der Adressierung. Je nach Herausforderung gilt es die Syntax der Regel / Formel anzupassen.

tableVeranstaltungen


c1c2c3c4
r1datumzeit vonzeit bisanzahl
r2datumzeit vonzeit bisanzahl
etc.datumzeit vonzeit bisanzahl

Der Formel-Wizard unterstützt dich bei der Anwendung von Formeln bei Tabellen.

Die Spalten (col) Adressierung wird jedoch nicht vorgeschlagen und muss daher individuell ergänzt / angewendet werden. Siehe Beispiel.

Summe von zeilenweise erfassten Werten bilden

Im Beispiel können bei einer Veranstaltung, mehrere Daten oder Zeitabschnitte erfasst werden. Es muss errechnet werden, wieviele Besucher insgesammt erwartet werden.

Die erwarteten Besucher sollen in einem Textfeld als Summe gezeigt werden. Dafür wird im Element "besucher_summe" eine Regel eingefügt.

Regel > Hauptaktion > setValue(sum(nodes("tableVeranstaltungsdaten//c4")))  - es wird nur die Hauptaktion erfasst, keine Bedingung.

  • mit sum() wird die Summe gebildet < es müssen Zahlenwerte sein.
  • mit NODES werden alle zutreffenden Node's (elemente) zusammengefasst die darin Adressiert werden
    • tableVeranstaltungen < muss die ID des Tabellenelementes sein
    • c4 bedeutete, die vierte Spalte (col 4). Achtung, wird die Struktur der Spalten verändert muss die Formel angepasst werden.

In diesem Fall wird zudem über eine Sichtbarkeit, die Summe erst angezeigt, wenn dieses Element einen Wert hat. Zudem ist die Editierbarkeit auf FALSE gesetzt, damit die ausfüllende Person die Werte nicht verändern kann.

max Abfrage

Spezialanforderung im Anwendugnsfall: Bedigung "ist eine der Tageszahlen 500, oder grösser" dann gelten bestimmte Voraussetzungen. Dazu wurde folgende Formel in einer Sichtbarkeitsregel verwendet.

  • max(nodeValues(nodes("tableVeranstaltungsdaten//c4"))) > 499

Damit konnte geprüft werden, ob eine der über "nodes" angesprochenen Werte über 499 (also mindestens 500) ist.

Regeln in der Tabelle

Im folgenden Beispiel sollen sich die Elemente "Beträge" je nach Status der Anfrage unterschiedlich, dem Status entsprechend logisch verhalten (Betrag zugesagt, macht keinen Sinn, wenn noch kein Anfrag gestestellt wurde).

Aufgrund der unterschiedlichen Status, müssen mehrere Regeln gesetzt werden:

Die Logik der Regeln ist immer dieselbe. Als Adressierungsziel wird die Spalte verwendet (nicht die Element ID). Das Ziel ist mit "../" > "../c3"  jeweils dieselbe Zeile (row) - im Gegensatz zum vorherigen Beispiel (mit // ).

Regel 1

Bedingung
nodeValue(".") == "keine_Anfrage"
HauptaktionInverse Aktion
setEditable(node("../c3"), false) && setEditable(node("../c4"), false) && setApplicationRequired(false,false, node("../c1")) && setApplicationRequired(false,false, node("../c3")) && setApplicationRequired(false,false, node("../c4")) && setValue(node("../c3"), NULL) && setValue(node("../c4"), NULL)
  • solange der Status "keine_Anfrage" gesetzt ist, sind die Beträge nicht editierbar (keine Eingabe möglich)
  • solange der Status "keine_Anfrage" gesetzt ist, ist die Angabe "Förderstelle" nicht Pflicht
  • solange der Status "keine_Anfrage" gesetzt ist, sind die Beträge nicht Pflichtfeld
  • wenn der Status auf "keine_Anfrage" gesetzt wird, werden die Beträge gelöscht / (auf NULL) gesetzt.

Regel 2

Da die Aktion nur 500 Zeichen zulässt, muss manchmal eine zweite Regel mit derselben Bedigung gesetzt werden.

Bedingung
nodeValue(".") == "keine_Anfrage"
HauptaktionInverse Aktion
setValue(node("../c3"), null) || setValue(node("../c4"), NULL)

Regel 3

Bedingung
nodeValue(".") == "Anfrage_offen"
HauptaktionInverse Aktion
setEditable(node("../c3"), true) && setEditable(node("../c4"), false) && setApplicationRequired(true,true, node("../c1")) && setApplicationRequired(true,true, node("../c3")) && setApplicationRequired(false,false, node("../c4")) && setValue(node("../c4"), NULL)

Regel 4

Bedingung
nodeValue(".") == "Anfrage_folgt"
HauptaktionInverse Aktion
setEditable(node("../c3"), true) && setEditable(node("../c4"), false) && setApplicationRequired(true,true, node("../c1")) && setApplicationRequired(true,true, node("../c3")) && setApplicationRequired(false,false, node("../c4")) && setValue(node("../c4"), NULL)

Regel 5

Bedingung
nodeValue(".") == "Foerderung_zugesagt"
HauptaktionInverse Aktion
setEditable(node("../c3"), true) && setEditable(node("../c4"), true) && setApplicationRequired(true,true, node("../c1"))  && setApplicationRequired(true,true, node("../c3")) && setApplicationRequired(true,true, node("../c4"))

Regel 6

Bedingung
nodeValue(".") == "Foerderung_abgelehnt"
HauptaktionInverse Aktion
setEditable(node("../c3"), true) && setEditable(node("../c4"), false) && setApplicationRequired(true,true, node("../c1"))  && setApplicationRequired(true,true, node("../c3")) && setApplicationRequired(false,false, node("../c4"))

In Tabelle erfasste Werte in einem Auswahlfeld verwenden

Das entsprechende PlugIn (com.jaxfront.kaio.visualizer.TableColumnComboboxPlugin) muss auf dem System installiert sein.

Wenn in einer Tabelle/Wiederholung einzelne Werte erfasst werden (wiederholend ein einer Spalte) können diese in einen Folge-Element als Auswahl geführt werden.

Dazu wird im gewünschten Auwahlfeld der Elementtyp "PlugIn" verwendet und wie folgt konfiguriert.

Es müssen zwei Werte konfiguriert werden:

  1. Die Tabelle (tableName) in welcher die erfassten Daten sind
  2. Die Spalte, in welcher sich das Feld mit den Daten befindet (colName).

Im Beispiel werden in einen vorangehenden Schritt, 1 zu N Parzellen erfasst. Im gezeigten Schritt, sollen nur die vorgängig erfassten Parzellen zur Auswahl stehen.

Schritt 1 - Erfassen der Parzellen

Schritt 2 - Erfassen der Probebohrungen

Es stehen nur die vorher erfassten Parzellen zur Auswahl.


Die Nummer der Tabellenzeile anzeigen

Kann via CSS > counter(line) gelöst werden (https://www.w3schools.com/css/css_counters.asp). 

 

  1. Der Tabelle eine CSS-Klasse geben, hier im Beispiel zielsetzung-daten.
  2. In der Tabelle eine Zeile vom Typ Anzeigetext anlegen & ein leeres <span>-Tag hinzufügen:
<h4>Zielsetzung <span class="zielsetzung-number"></span></h4>

 Die folgenden Zeilen CSS schreiben die Zeilennummer ins <span>-Tag. Legen Sie ein neues Formularelement vom Typ Anzeigetext an mit folgenden CSS-Zeilen:

<style>
#JAX_FORM.JAX-MARKER .zielsetzung-daten.jax-isTable table.jax-serial-list>tbody{counter-reset:line}
#JAX_FORM.JAX-MARKER .zielsetzung-daten.jax-isTable table.jax-serial-list>tbody>tr{counter-increment:line}
#JAX_FORM.JAX-MARKER .zielsetzung-daten.jax-isTable table.jax-serial-list>tbody>tr span.zielsetzung-number:before{content:counter(line)}
</style>



  • Keine Stichwörter