Autor Thema: Eventstart bei Enter-Taste in Textfeld möglich?  (Gelesen 3575 mal)

Offline Alexander 28

  • Aktives Mitglied
  • ***
  • Beiträge: 190
  • Geschlecht: Männlich
  • Meistens gibt es eine Lösung!
Eventstart bei Enter-Taste in Textfeld möglich?
« am: 28.07.17 - 09:56:15 »
Hallo liebe Entwicklerkollegen.

Ich baue aktuell eine Suchfunktion.
Dem Anwender wird ein Dialogfenster angezeigt (das wird auch dringend benötigt) mit einem Textfeld in welches er seinen Suchstring eingeben kann. Rechts neben dem Feld habe ich eine Schaltfläche platziert die dann den eigentlichen Suchmechanismus (Start eines Lotus Skript Agenten) ausführt und das Ergebnis in ein weiteres Feld des Dialoges schreibt.

Das funktionell alles wunderbar.
Mein Problem ist, dass intuitiv der Anwender nach der Eingabe seines Suchstrings sofort "Enter" drückt (so wie man es von Google kennt) statt auf die Schaltfläche rechts neben dem Feld zu klicken.

Meine Frage ist nun, ob einem von euch eine Möglichkeit bekannt ist, einen Agenten oder irgend eine Routine zu starten, in dem Moment, in dem der Anwender Enter drückt während sein Cursor noch im Suchfeld steht. Bei meinen Tests führte der Druck auf die Enter-Taste dazu, dass das Dialogfeld bestätigt wurde (Button OK). Aber genau das möchte ich verhindern und stattdessen die Suchroutine starten.

Ich hoffe ich habe mich nicht zu kompliziert ausgedrückt!?
Würde mich freuen, wenn der ein oder andere eine Idee zum Thema hat ....
« Letzte Änderung: 28.07.17 - 10:39:28 von Alexander 28 »

Offline Alexander 28

  • Aktives Mitglied
  • ***
  • Beiträge: 190
  • Geschlecht: Männlich
  • Meistens gibt es eine Lösung!
Re: Eventstart bei Enter-Taste in Textfeld möglich?
« Antwort #1 am: 28.07.17 - 10:15:49 »
Hallo noch einmal.
Jetzt habe ich doch noch verschiedenste Test durchgeführt und konnte das Problem tatsächlich selbst lösen.

Was habe ich geändert?

Zunächst habe ich die Felder in der Dialogbox mit einer Eingabereihenfolge versorgt, sodass das Suchfeld gleich an der 1. Position des Dialogfensters steht. Unmittelbar rechts daneben steht ja die Schaltfläche für die Auslösung der Suchfunktion. Diese Schaltfläche habe ich nun in den Schaltflächen-Eigenschaften mit "Normal" und "Vorgabe" definiert. Siehe da, das hat schon ausgereicht und ich kann jetzt problemlos beim Aufruf des Dialogfensters lostippen und "Enter" drücken und die Suchroutine wird sofort gestartet. Hervorragend, dass ist genau das was ich gebraucht habe.
Selbst wenn ich dann ein anderes Feld in Dialogfenster anspringe und in das Suchfeld zurückspringe, einen Suchstring eingebe und wieder Enter drücke funktioniert es einwandfrei. Super!

Das einzige, was ja leider nicht funktioniert und im Notes Klienten scheinbar auch nie funktionieren wird ist eine Suche die bereits beim Tippen der ersten Buchstaben startet (weblike). Es sei denn, jemand von euch kennt hierfür eine Lösung .....!?

Viele Grüße  :)

Offline jBubbleBoy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.277
  • Geschlecht: Männlich
Re: Eventstart bei Enter-Taste in Textfeld möglich?
« Antwort #2 am: 28.07.17 - 11:39:08 »
Das geht, es gibt sogar 2 unterschiedliche Wege:
1. Man nutzt einen LS oder JS-Timer und schaut intervallmäßig nach dem Rechten.
2. Man verwendet ein Dialog-Feld, die Auswahl-Schaltfläche kann bei den Eigenschaften verborgen werden, + "Felder bei Schlüsselwortänderung aktualisieren", + ein sinnloses Schlüsselwort beginnend mit einem Sonderzeichen. Diese konstruierten "Eingabefelder" können pro Tasten-Klick ein NotesDocument-Refresh auslösen. Ist aber nicht 100% sauber, z.B. öffnet die Enter-Taste die Dialogauswahl-Liste - was ja in deinem Fall eher ungünstig wäre ;)
Gruss Erik :: Freelancer :: Notes, Java, Web, VBA und DomNav 2.5 / NSE 0.16
--
Nur ein toter Bug, ist ein guter Bug!

Offline Alexander 28

  • Aktives Mitglied
  • ***
  • Beiträge: 190
  • Geschlecht: Männlich
  • Meistens gibt es eine Lösung!
Re: Eventstart bei Enter-Taste in Textfeld möglich?
« Antwort #3 am: 28.07.17 - 12:26:31 »
Hi Erik. Gerade Punkt 2 finde ich interessant. Das probier ich mal aus ....
Danke  :D

Offline Alexander 28

  • Aktives Mitglied
  • ***
  • Beiträge: 190
  • Geschlecht: Männlich
  • Meistens gibt es eine Lösung!
Re: Eventstart bei Enter-Taste in Textfeld möglich?
« Antwort #4 am: 29.07.17 - 12:54:22 »
Hi Erik. Wie versprochen ein kurzes Feedback.

Zunächst ... ich bin begeistert. Funktioniert wie Sau!

Ich schreibe das Suchergebnis in ein 2. berechnetes Feld (bzw. dieses berechnet quasi die Suche für sich selbst bei jedem Tastenanschlag). Das widerum dient als Datenauswahl in einem 3. Feld (Listenfeld) in dem der Anwender dann den gewünschten Wert (können ja diverse sein) auswählen kann. Falls er im Suchfeld doch einmal 'Enter' drückt ist das auch kein Problem, weil die Datenauswahl des Suchfeldes widerum das Ergebnis des 2. Feldes ist. Also nicht schlimm und der Kreis ist wieder geschlossen.

Perfekt. Kunde wird begeistert sein.
Danke nochmal für den Denkanstoß !!!! Man kan auch nach 15 Jahren Notes immer wieder was lernen ... toll!

 ;D ;D ;D

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz