![]() |
Suchfeld über Stringliste (oder ähnliches) mit anzeige von 5 Vorschlägen
Hi,
ich habe eine, so dachte ich zumindest, einfache Anforderung. Ich würde gerne in Delphi Seattle in der VCL ein Editfeld oder ein Dropdown oder eine Listbox.... so verwenden, dass ich dort eine Eingabe machen kann, die nach Eingabe von 3 Zeichen eine Autovervollständigung, bzw. Vorschläge macht. Genau genommen, ich habe einen RESR dienst, der mir bei der eingabe von Orten mit Vorschlägen und den genauen Geokoordianten antwortet. Ich suche gefühlt schon seit einer Woche nach einer brauchbaren Lösung, komme aber nicht weiter. Hab schon alle möglichen Module und Beispiele gefunden, die aber entweder mit Seattle nicht mehr laufen wollen oder nicht das machen was ich möchte. An der Umsetzung mit einer Combobox bin ich gerade dran, das erscheint mir aber sehr sehr umstädnlich und ist zudem noch zeimlich verbugt (Beim Dropdown verschwindet der Mauszeiger, beim Klick auf das Element werden nicht die gleichen Events gefeuert wie beim Select mit der Hoch/Runter taste uws...) Habt ihr eine Idee oder sogar eine Lösung? Gruß PJM |
AW: Suchfeld über Stringliste (oder ähnliches) mit anzeige von 5 Vorschlägen
Das mit der ComboBox ist eigentlich Standard wie es in Windows überall so ist... :|
|
AW: Suchfeld über Stringliste (oder ähnliches) mit anzeige von 5 Vorschlägen
Es gibt von Fremdanbietern entsprechende Komponenten, welche man mit großen Listen/Datenquellen füttern kann und die dann anschließend die Suche und Autovervollsändigung erledigen,
oder man baut es sich selber. Über eine LookupCombobox geht es bestimmt auch nicht schlecht. z.B. könntest du im OnChange ein
Delphi-Quellcode:
anstoßen, mit welchem die Lockup-DataSource gefüllt wird.
SELECT aaa FROM xxx WHERE ttt ILIKE :eingabe || '%' ORDER BY aaa LIMIT 100
|
AW: Suchfeld über Stringliste (oder ähnliches) mit anzeige von 5 Vorschlägen
Ich glaube es ist noch nicht so ganz klar geworde.
Ich habe keine Riesen Datenmenge, ich habe immer 5 Einträge Maximal. Das durchsuchen übernimmt der Server. Das einzige was ich gerne hätte, wäre eine Art Combobox die mir nicht den Mauszeiger tötet wenn dropdown auf true setze und sich dynamisch anpasst wenn ich weitere Buchstaben eintippe. Klar kann ich die EInträge immer wieder löschen und Füllen, aber dann "Ruckelt" das Dropdown Feld und wie gesagt ich kann auch nicht unterscheiden ob mein Eintrag via Maus oder via Tastatur ausgewählt wurde. In meinem Beispiel macht das leider einen Unteschrschied. Folgendes Szenario Ich gebe "Biel" in das Edit ein bekomme als Responce: 1. Bielheim 2. Bielefeld 3. Bielhausen 4. Bieblingen 5. Biergarten Jetzt will ich in den Einträgen "Navigieren können" sodass man eine Art vorschau bekommt wo dieser Punkt liegen würde. Das funktioniert aktuell, weil ich die Tasten hoch runter abfragen kann und meinen aktuellen index beim onkeydown event. Was mir an dieser Stelle fehlt ist eine Art on Hover Event, wenn ich mit der maus darüber fahre. Das funktioniert leider nicht. Außerdem habe ich es noch nicht fertig bekommen das mir der Mauszeiger nicht verschwindet. Gruß PJM |
AW: Suchfeld über Stringliste (oder ähnliches) mit anzeige von 5 Vorschlägen
Wenn Dein eingegebener Suchbegriff immer der Anfang(!) des gesuchten Begriffes ist, kannst Du einfach eine TComboBoxEx nehmen und dort die AutoCompleteOption acoAutoSuggest aktivieren.
Nachtrag: Möglicherweise habe ich Deine Anfrage auch missverstanden. |
AW: Suchfeld über Stringliste (oder ähnliches) mit anzeige von 5 Vorschlägen
Zitat:
Andere Komponenten? z.B. bei Devexpress gibt es nicht nur Text und ItemIndex, sonder auch noch paar Abwandlungen wie CurText und CurItemIndex, und wenn man dann auch noch ImediatePost auf False setzt, dann kann man im DropDown navigieren, bekommt im OnChange die aktuelle Selection (Current) und erst beim Schließen des DropDown (Enter, Klick, ...) wird die Auswahl "richtig" übernommen. Und wie gesagt, es gibt Komponenten anderer Hersteller, welche sowas besser können, ohne zu "ruckeln". |
AW: Suchfeld über Stringliste (oder ähnliches) mit anzeige von 5 Vorschlägen
Zitat:
Zitat:
|
AW: Suchfeld über Stringliste (oder ähnliches) mit anzeige von 5 Vorschlägen
Zitat:
|
AW: Suchfeld über Stringliste (oder ähnliches) mit anzeige von 5 Vorschlägen
Zitat:
|
AW: Suchfeld über Stringliste (oder ähnliches) mit anzeige von 5 Vorschlägen
Hallo,
ich bin nicht sicher ob es Deinen Anforderungen entspricht, aber ich habe mal etwas in der Art von Hand Programmiert. Das Ganze bestand aus einer Eingabe, und einer separaten Auswahl Komponente. z.B.: TEdit und TList. Die TList ist dabei zunächst ausgeblendet. Nach Eingabe von Suchtext zeige ich die TList programmgesteuert an. Der Focus bleibt aber zunächst beim TEdit. Bei weiterer Eingabe im TEdit passe ich die Einträge der TList an. Mit "Pfeil Ab" wechsle ich dann den Focus zur TList, und steuere dessen Verhalten nach eigenen Wünschen. Mit "Pfeil Auf" kann man auch wieder den Focus zum TEdit Wechseln. Dadurch dass ich zwei separaten Komponenten verwende kann ich deren Verhalten gezielt steuern. Allerdings hat es mich einige graue Haare gekostet, bis das wirklich robust lief. Gruß Martin |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:59 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz