Wer hätte es sich das nicht schon oft gewünscht, dass man Werte bei einer Eingabe durch einzelne Buchstaben schon einschränken könnte. Das geht mit dem Befehl Dropdownlist leider nicht. Dafür kann man ein HTML File mittels des Befehls Webview anzeigen, welches die nötige Funktion beinhaltet. Webview steht als Befehl zur Verfügung, wenn man bei der Synactive GmbH einen Wartungsvertrag hat oder im Zeitraum vom April 2022 einen hatte.

Im HTML gibt es da grundsätzlich 2 Varianten, wie man eine „Autocomplete“  Funktion integrieren kann. Dies entweder mit dem Tag  <select>  … </select> oder dem Tag <datalist> … </datalist>.

Beide Varianten haben sein Vor- und Nachteile. Ich persönlich bevorzuge die Variante mit <datalist>.

Ich habe für beide Varianten entsprechende Scripte geschrieben um eine Auswahl von einem Land vorzunehmen. Zur Veranschaulichung habe ich folgende Videos aufgezeichnet:

Variante <select>

Variante <datalist>

Zugehörige Scripte zum downloaden über folgende Links:

Variante mit Select

Variante mit Datalist

Für die Variante Datalist habe ich die Funktion zum Bilden der Werte in der HTML Datei in eine separate Funktion process_values_dropdown.txt ausgelagert. Möglich ab GuiXT Version 2022 Q4 2.

process values_dropdown "Countries.txt" "Bitte Land wählen" "30"

Webview (0.2,4) (65,44) "&%[TMP]\Countries.html" name="Countries" -closeonhide -transparent

Dadurch wird das Script mehrfach verwendbar. Das heisst sie müssen jeweils die folgenden Parameter übergeben:

  1. Name des Files inkl. Pfad falls sich File nicht in den Scriptpfaden befindet
  2. Text der Intial in der Dropdownliste angezeigt werden soll
  3. Breite der Dropdownliste

Am Schluss hat dann die Funktion values_dropdown ein entsprechendes HTML-File erzeugt, das den Namen der übergebenen Werte erhält. Also in unserem Beispiel wäre das Countries.html.

Das File wird immer auf dem temporären Pfad abgelegt (&%[TMP]\) und kann dann über den Befehl Webview entsprechend angezeigt werden:

Webview (0.2,4) (65,44) "&%[TMP]\Countries.html" name="Countries" -closeonhide -transparent

 

Empfehlen