Examples: query, "exact match", wildcard*, wild?ard, wild*rd
Fuzzy search: cake~ (finds cakes, bake)
Term boost: "red velvet"^4, chocolate^2
Field grouping: tags:(+work -"fun-stuff")
Escaping: Escape characters +-&|!(){}[]^"~*?:\ with \, e.g. \+
Range search: properties.timestamp:[1587729413488 TO *] (inclusive), properties.title:{A TO Z}(excluding A and Z)
Combinations: chocolate AND vanilla, chocolate OR vanilla, (chocolate OR vanilla) NOT "vanilla pudding"
Field search: properties.title:"The Title" AND text
Beantwortet
Zugriff auf den Anzeigewert einer SQL-List mit Autovervollständigung

Hallo zusammen.

Ich möchte gerne ein Autovervollständigungsfeld (SQL-List) automatisch per Java-Script mit Werten befüllen. Dabei möchte ich jedoch wie es auch für die manuelle Eingabe möglich ist, zwischen dem angezeigten Wert und dem tatsächlichen Wert unterscheiden.

UseCase: Der Anwender gibt z.B. eine Organisationseinheit per Autovervollständigung ein und sendet. Bei einem späteren Aufruf desselben Formulars, soll der initial angelegten Datensatz als Ausgangssituation per JavaScript/ AJAX vorbefüllt werden. Hierbei wird dann jedoch nur der tatsächliche, nicht aber der anzuzeiogende Entsprechungswert wie bei der DropDonw-Variante angezeigt.

Viele Grüße,
Matthias Nordwig

1
1
Gepostet vor 3 Jahren
Stimmen Neuste

Antworten 3


Hallo,
man kann bei SQL-Lists die Daten im Format SELECT Anzeigewert, Speicherwert FROM X laden.
file

Sieht auf dem Dialog so aus:
file

Und speichert zu
file

Bei den Ausgangsdaten von
file

  
  
Gepostet vor 3 Jahren
Stefan Köngeter
309 × 7 Administrator

Hallo,
dabei ist der Trick, das in den Dialogelement-Einstellungen die Checkbox "Gültige Eingabe erforderlich" gesetzt ist:

file

Nur dann wird die zweite Spalte der SQL Query als Wert behandelt und die erste als Display-Value.
Ist die Checkbox gesetzt, können Sie mit

jr_get_value('dialogElementName');
jr_get_display_value('dialogElementName');

jr_set_value('dialogElementName', 'value');
jr_set_display_value('dialogElementName', 'displayValue');

sowohl den gespeicherten Wert als auch den Anzeigewert lesen/schreiben.
Dies können Sie dann bei Bedarf z.B. in einem onLoad Event-Handler benutzen.

Ich hoffe dies war hilfreich, ich würde mich über eine Rückmeldung freuen!

Jan Zimmerbeutel, DemandFlow

1
1
Gepostet vor 3 Jahren
Jan Zimmerbeutel
272 × 4 Administrator

Hallo.

Vielen Dank für die schnellen Antworten! Ich habe das Problem identifiziert. Dadurch, dass ich im Select-Statement ein "order by" verwendet habe, hat das SQL-Statement bei der Autovervollständigung, wie ja eigentlich auch dokumentiert, nicht funktioniert. Beim automatischen Beladen, wurde dann einfach nur der eingefügte Wert angezeigt, da ja das SQL-Statement den Display-Wert nicht holen konnte.

Aus reiner Neugier: Gibt es neben der Funktion jr_set_display_value auch die Möglichkeit den Anzeigewert über jr_add_subtable_row aktiv zu befüllen? Also z.B. über den Namensraum?

VG, Matthias Nordwig

1
1
Gepostet vor 3 Jahren
  
  

Schließ doch bitte die Frage ab und mach für das Addendum eine neue Frage. Dann wird das alles ordentlich indiziert.

Andreas Klein   vor 3 Jahren Melden
6K Ansichten
3 Antworten
vor 3 Jahren
vor 3 Jahren
Stichwörter