DCCombobox mit Wortergänzung
Moderator: Moderatoren
- Manfred
- Foren-Administrator
- Beiträge: 21186
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
DCCombobox mit Wortergänzung
Hi,
eigentlich wollte ich eine Combobox bauen, in der sofort der erste Eintrag zu sehen ist und die automatisch wenn getippt wird den nächstähnlichen Satz direkt anzeigt. Irgendwie kriege ich das nicht hin.
eigentlich wollte ich eine Combobox bauen, in der sofort der erste Eintrag zu sehen ist und die automatisch wenn getippt wird den nächstähnlichen Satz direkt anzeigt. Irgendwie kriege ich das nicht hin.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9356
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 101 Mal
- Danksagung erhalten: 361 Mal
- Kontaktdaten:
Re: DCCombobox mit Wortergänzung
Mmh. Ist doch ein Standardverhalten der DCCOMBOBOX:
Die Box ist mit "Erste Möglichkeit" vorbefüllt, weil "cValue" entsprechend belegt ist. Tippt man jetzt "Z", wandert sie zum zweiten Eintrag.
Code: Alles auswählen
FUNCTION Test()
LOCAL GetList := {}
LOCAL aValues := {"Erste Möglichkeit","Zweite Möglichkeit","Dritte Möglichkeit"}, cValue := aValues[1]
@ 1,1 DCCOMBOBOX cValue LIST aValues TYPE XBPCOMBO_DROPDOWNLIST SIZE 15,10
DCREAD GUI FIT
Herzlich,
Tom
Tom
- Manfred
- Foren-Administrator
- Beiträge: 21186
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Re: DCCombobox mit Wortergänzung
dachte ich eigentlich auch, aber irgendwie will das nicht so wie ich.
das Array ist gefüllt, aber das Eingabefeld ist leer. Wenn ich die Box aufklappe, dann sehe ich die Einträge. Ich war jetzt irgendwie der Meinung, dass zumindest der erste Eintrag auch direkt zu sehen ist, wenn nichts vorgegeben wird. Dem ist aber nicht so. Wenn ich jetzt im Eingabefeld tippe, dann erscheint nichts, nur der gerade getippte Text.
Code: Alles auswählen
@ oDialogZusatz:nOben,DCGUI_COL DCCOMBOBOX cAnrede;
EVAL {|o| o:usevisualstyle := oSysPara:oWsPara:VisualStyl,;
oAdressen:addEditControl(o);
};
LIST aAnrede;
OBJECT oDialogZusatz:oComboBoxAdressen;
PARENT oDialogZusatz:oRahmenAdresse;
SIZE 90,oDialogZusatz:nSayHoehe*3;
TABSTOP
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- Manfred
- Foren-Administrator
- Beiträge: 21186
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Re: DCCombobox mit Wortergänzung
Tom,
ich hatte Deine Antwort nicht richtig gelesen
Das hatte ich falsch umgesetzt. Jetzt wird zumindest angezeigt, was ich angezeigt haben will. Das mit der Auswahl muß ich dann nochmas schauen.
ich hatte Deine Antwort nicht richtig gelesen
Code: Alles auswählen
cValue := aValues[1]
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9356
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 101 Mal
- Danksagung erhalten: 361 Mal
- Kontaktdaten:
Re: DCCombobox mit Wortergänzung
Hallo, Manfred.
Wenn Du die Link-Variable nicht füllst, ist das SLE leer. Dann funktioniert auch die Suche nicht. Enthält die abhängige Variable einen Wert aus der Liste, funktioniert beides. Wenn man mit Comboboxen konsistent arbeiten will, also tatsächlich die Auswahl auf das beschränken, was ausgewählt werden kann, sollte man immer dafür sorgen, dass die abhängige Variable beim Aufruf mit einem gültigen Wert befüllt ist, also defaultet. Alternativ kannst Du das Array auch um einen leeren Eintrag ergänzen (also "nichts" als Auswahl gültig machen - sinnvollerweise zuoberst); dann funktioniert auch beides.
Wenn Du das nur als zusätzliches Eingabehilfsmittel verwenden willst (für Felder, die auch leer bleiben können), solltest Du mit DCSAY ... GET ... COMBO arbeiten. Das erlaubt die Anzeige eines Arrays mit möglichen Auswahlelementen als zusätzliche Möglichkeit, ohne jedoch Einfluss auf die eigentliche Eingabe zu haben. Das kann man dann z.B. über eine entsprechende Belegung des Keyboard-Slots des SLEs mit einer Auto-Vervollständigen-Funktion ergänzen; dafür musst Du Dir einfach mal die aktuellen Beispiele von Roger anschauen. Ist ganz simpel.
Wenn Du die Link-Variable nicht füllst, ist das SLE leer. Dann funktioniert auch die Suche nicht. Enthält die abhängige Variable einen Wert aus der Liste, funktioniert beides. Wenn man mit Comboboxen konsistent arbeiten will, also tatsächlich die Auswahl auf das beschränken, was ausgewählt werden kann, sollte man immer dafür sorgen, dass die abhängige Variable beim Aufruf mit einem gültigen Wert befüllt ist, also defaultet. Alternativ kannst Du das Array auch um einen leeren Eintrag ergänzen (also "nichts" als Auswahl gültig machen - sinnvollerweise zuoberst); dann funktioniert auch beides.
Wenn Du das nur als zusätzliches Eingabehilfsmittel verwenden willst (für Felder, die auch leer bleiben können), solltest Du mit DCSAY ... GET ... COMBO arbeiten. Das erlaubt die Anzeige eines Arrays mit möglichen Auswahlelementen als zusätzliche Möglichkeit, ohne jedoch Einfluss auf die eigentliche Eingabe zu haben. Das kann man dann z.B. über eine entsprechende Belegung des Keyboard-Slots des SLEs mit einer Auto-Vervollständigen-Funktion ergänzen; dafür musst Du Dir einfach mal die aktuellen Beispiele von Roger anschauen. Ist ganz simpel.
Herzlich,
Tom
Tom
- Manfred
- Foren-Administrator
- Beiträge: 21186
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Re: DCCombobox mit Wortergänzung
Hm,
ich stelle gerade fest sowas wie :seteditable() kennt DCCOMBOBOX gar nicht. Muß man in Eval von Hand einfügen. Was mir auch noch auffällt ist, das man kein mehrdimenisonales Array für weitere Infos intern benutzen kann, dann Roger die Übernahme ja selbst regelt und somit kann man nicht sagen nimm nur den 1.Wert aus dem Array. Schade. Oder gibt es da einen Trick? Ich würde nämlich ganz gerne auch die recNr. des Inhaltes aus der DBF mitführen, damit ich später weiß, was ich schreiben muß.
ich stelle gerade fest sowas wie :seteditable() kennt DCCOMBOBOX gar nicht. Muß man in Eval von Hand einfügen. Was mir auch noch auffällt ist, das man kein mehrdimenisonales Array für weitere Infos intern benutzen kann, dann Roger die Übernahme ja selbst regelt und somit kann man nicht sagen nimm nur den 1.Wert aus dem Array. Schade. Oder gibt es da einen Trick? Ich würde nämlich ganz gerne auch die recNr. des Inhaltes aus der DBF mitführen, damit ich später weiß, was ich schreiben muß.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- Manfred
- Foren-Administrator
- Beiträge: 21186
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Re: DCCombobox mit Wortergänzung
Hi,
da ich gerade wieder an so einem Fall bin: Die automatische Wortergänzung klappt nicht. Auch nicht, wenn ich den Wert der Variable mit einer Vorgabe aus dem Array fülle.
da ich gerade wieder an so einem Fall bin: Die automatische Wortergänzung klappt nicht. Auch nicht, wenn ich den Wert der Variable mit einer Vorgabe aus dem Array fülle.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!