Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Combobox lookup refresh Items (https://www.delphipraxis.net/178585-combobox-lookup-refresh-items.html)

jheinz 16. Jan 2014 07:33

Delphi-Version: XE5

Combobox lookup refresh Items
 
Hallo zusammen,

wie werden die Listeneinträge in einer Combobox aktualisiert, wenn sich die Daten in der darunterliegenden Datenmenge ändern (zur Laufzeit)?

Mein Problem: Die Datenbankeinträge aus der die Lookup Werte kommen, ändern sich in Abhängigkeit von Masterdatensätzen. Das Dataset hat die korrekten Werte, jedoch ändern sich die Einträge in der Combobox nicht.

Danke für Eure Hilfe.

baumina 16. Jan 2014 07:45

AW: Combobox lookup refresh Items
 
Welche Komponente meinst du genau? TComboBox, TDBComboBox, TDBLookupComboBox oder noch was anderes?

jheinz 17. Jan 2014 07:11

AW: Combobox lookup refresh Items
 
Ich meine die TCombobox in Verbindung mit Livebindings unter Firemonkey.

Medium 7. Mär 2019 16:57

AW: Combobox lookup refresh Items
 
Ich hole das hier noch mal hoch, da ich aktuell praktisch das gleiche Problem habe - bzw. sogar noch simpler als der ursprüngliche Fragesteller:

Ich habe einfach eine Query die eine Tabelle abfragt. Eine Text-Spalte daraus ist via LiveBindings an eine Combobox (FMX) gebunden. Das klappt so an sich ganz gut. Wenn ich aber nun in meiner Tabelle einen neuen Datensatz anlege, oder einen bestehenden ändere, kommt davon in meiner Combobox nichts an. Query refreshen bringt leider nichts, und ich habe keine Möglichkeit gefunden, bei den an dem Binding beteiligten Komponenten einen Zwangs-Refresh bei z.B. Combobox.OnClick auszulösen. (Dabei fiel mir noch auf, dass man im Source auf die Property "LiveBindings" überhaupt nicht zugreifen kann - nur über den OI. Das ist ja mal ... nicht so toll. Ist das so gewollt!?)

Zusatz: Selbst Schließen und wieder Öffnen der Query bringt nichts :shock:. Nur Neustart des Programms. Bei StringGrids funktioniert das allerdings! Verstehe ich nicht.

Medium 11. Mär 2019 09:03

AW: Combobox lookup refresh Items
 
*vorsichtigpush*

hoika 11. Mär 2019 12:58

AW: Combobox lookup refresh Items
 
Hallo,
hier steht was von DataSource.Active=False und wieder True setzen,
also nicht die Query.

https://delphiaball.co.uk/2015/10/21...ings-via-code/

Oder deaktivierst das LiveBinding im Code und setzt die Query danach wieder drauf.


Ich erkläre es etwas umständlich, weil ich LiveBindings nicht benutze.

Medium 3. Apr 2019 16:44

AW: Combobox lookup refresh Items
 
Soo, ich konnte das nun endlich mal testen. Leider ohne Erfolg.

Die dort beschriebenen Properties gibt es so bei mir überhaupt nicht. Ich vermute der wichtige Unterschied ist, dass dort VCL LiveBindings beschrieben werden. Ich arbeite jedoch mit FMX. (Prima, dass die Interfaces da unterschiedlich zu sein scheinen.....)

Ich habe nun alles durch. Alle Komponenten die in irgendeiner Weise an den Bindings oder der Datenquelle beteiligt sind habe ich Disabled/Enabled, Refreshed, Close/Open, Tänzchen gemacht, Weihrauch verströmt. Nichts. Meine DropDowns versorgen sich EIN Mal bei Programmstart, und dann niemals wieder. Das kann's doch eigentlich nicht sein, oder? Das ist doch absolute Basis-Funktion, ein Musterbeispiel für was man LiveBindings überhaupt haben wöllte. Wie kann sowas ungetestet in einem Release landen?


Hätte sonst noch ggf. jemand eine schlaue Idee? Ich will mein Programm eigentlich nicht nach jeder Änderung in meinen Tabellen neu starten lassen um diese in den Auswahlboxen zu übernehmen...

(Sorry wenn das etwas angepinkelt klingt. Bin ich auch. Aber nicht von euch! <3 )

DenkDirNix 15. Jan 2022 17:30

AW: Combobox lookup refresh Items
 
Liste der Anhänge anzeigen (Anzahl: 2)
Hallo,

ich hänge mich mal an diesen Thread dran da die Überschrift passt und man ihn deshalb beim Suchen findet. Mein Problem betrifft allerdings die ComboBox unter FMX. Bin FMX-Anfänger...

Frage: Wie ändere ich die in der DropDownList anzuzeigenden Einträge zur Laufzeit? Das angehängte Beispiel zeigt, dass sich bei Änderung (durch Click auf den Button) zwar die Titelzeile der ComboBox korrekt ändert, nicht aber der betreffende Eintrag in der DropDownList.

Noch verwirrender: Beim ERSTEN Click tut er es manchmal(!) doch. Bitte mehrmals probieren.

Und on top: Bei Auswahl des geänderten (falsch angezeigten) Eintrags wird dann doch der Eintrag MIT Änderung in die Titelzeile übernommen. Ist also nur ein Anzeige-Problem.

Carsten Hölscher 15. Jan 2022 17:54

AW: Combobox lookup refresh Items
 
Edit: Also bei mir geht dsa korrekt unter aktuellem Delphi 11 und Windows 11
Carsten

DenkDirNix 15. Jan 2022 17:58

AW: Combobox lookup refresh Items
 
Zitat:

Zitat von Carsten Hölscher (Beitrag 1500644)
ComboBox1.Items[i]:='neuer Text'; um den i. Eintrag zu ändern

Dies scheint es nicht zu tun wie man sich das denkt, siehe angehängtes Testprojekt.
Und auch der oben angehängte Screenshot zeigt doch die eigentlich per Definition ausgeschlossene Inkonsistenz zwischen DropDownList und Titelzeile der ComboBox.


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:48 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz