FixedValuesConverter
Der FixedValuesConverter bietet die Möglichkeit Einträge und Werte von Listenelementen anhand eines Schlüssels (key) zu identifizieren und zuzuordnen. Der Schlüssel ist dabei immer der Wert eines ausgewählten Eintrags.
Als Schlüssel (Key) werden automatisch das Feld des Eintrags erkannt, welches einen der folgenden Namen besitzt: "data", "@data", "key", "@key", "name", "@name" (Priorität entspricht der Reihenfolge).
Als Standardbeschriftung eines Eintrags/Wertes wird automatisch das Feld mit einem der folgenden Namen herangezogen: "label", "@label", "value", "@value", "data", "@data", "key", "@key" (Priorität entsrpicht der Reihenfolge).
(1) Gibt die Einträge pro Seite an, um Paging zu ermöglichen. 0 deaktiviert das Paging komplett
(2) Die Option "Key als Text" ist standardmäßig gesetzt und gibt an, ob der Schlüssel zum identifizieren eines Eintrags/Wertes ein simpler Textwert ist. Ist diese Option deaktiviert (so wie im Bild oben), kann ein Schlüssel auch ein Objekt sein, welches durch eines seiner Felder (3) identifiziert werden kann.
(3) Können Schlüssel auch aus Objekten bestehen (Option 2 nicht gesetzt), kann hier ein Datenfeldpfad relativ zum Schlüsselobjekt definiert werden, was auf einen eindeutig identifizierbaren Wert verweist.
Beispiele mit "Statische Werte Service"
Um statische Werte zu erzeugen wird der "Statische Werte Service" verwendet.
Beispiel mit Key als Text (Standard: Option "Key als Text" aktiviert)
Die Einträge einer Combobox werden wie folgt in der Kategorie "Einträge und Service" konfiguriert:
Stellvertretend für einen Eintrag (1) steht dabei das "key" Feld, was in diesem Falle eine fortlaufende Nummer als Text ist. Dieser Schlüssel wird zur Identifikation der Einträge verwendet und wird als Wert in die Formulardaten geschrieben.
Als Standardbeschriftung wird das "label" Feld herangezogen. Nachfolgende Tabelle zeigt die konfigurierte Combobox in Aktion:
Combobox |
Wert in den Formulardaten |
|
"2" |
Beispiel mit Objekten als Keys (Option "Key als Text" deaktiviert)
Ein Lobster_data Profil namens "GetArticleParts" liefert mit Hilfe des "Daten von Profil" Service eine Liste von Einträgen in der folgenden Form als JSON:
[
{
"key"
: {
"identifier"
:
"WQL"
,
"value"
:
"13"
,
"unit"
:
"mm"
},
"label"
:
"13 mm WQL"
},
{
"key"
: {
"identifier"
:
"ZFM"
,
"value"
:
"5"
,
"unit"
:
"pc"
},
"label"
:
"5 pc ZFM"
},
{
"key"
: {
"identifier"
:
"OLK"
,
"value"
:
"40"
,
"unit"
:
"mm"
},
"label"
:
"50 mm OLK"
},
{
"key"
: {
"identifier"
:
"MFF"
,
"value"
:
"20"
,
"unit"
:
"mm"
},
"label"
:
"20 mm MFF"
}
]
Die Einträge in der Kategorie "Einträge und Service" der Combobox wurden wie folgt konfiguriert.
Das Eintragsfeld "identifier" soll zur Identifikation der Einträge herangezogen werden und muss daher auch eindeutig sein.
Der Vorteil hiervon ist, dass ein Tupel mit einem Feld "identifier" (oder direkt der Wert des Identifiers) als Wert der Combobox gesetzt werden kann und daraufhin der korrekte Eintrag ausgewählt und dessen Schlüssel (key) in die Formulardaten übernommen wird.
Nachfolgende Tabelle zeigt die konfigurierte Combobox in Aktion:
Combobox |
Wert in den Formulardaten |
|
{ "identifier" : "OLK" , "value" : "40" , "unit" : "mm" } |
Die Option "20 mm MFF" (beispielhaft) könnte nun mit der Aktion "Wert setzen" auf zwei verschiedene Arten ausgewählt werden:
1. "MFF" (Der direkte Wert des "identifier" Feldes)
2. { "identifier": "MFF" } als Tupel/Objekt