Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi DBLookUpComboBox - Verständnisfrage (https://www.delphipraxis.net/159992-dblookupcombobox-verstaendnisfrage.html)

Die Muhkuh 21. Apr 2011 21:37

Datenbank: FireBird embedded • Version: 2.5 • Zugriff über: UniDAC

DBLookUpComboBox - Verständnisfrage
 
Hi,

ich kämpfe gerade mit der DBLookUpComboBox (genauer gesagt, eine cxDBLookupCombobox von DevExpress).

Erstmal der Datenbankaufbau:

Code:
Tabelle: languages

id: integer
langname: varchar

-------------------

Tabelle: langcodes

id: integer
langcode: varchar

-------------------

Tabelle: langstrings
lang_id: integer (FK auf languages.id)
code_id: integer (FK auf langcodes.id)
translation: varchar
Was ich nun quasi machen möchte ist in der LookUpCombobox die Sprachen darstellen und wenn man dort eine auswählt, soll in einem DBGrid die jeweiligen langstrings dargestellt werden.

Folgendes hab ich gemacht:

DataSource dsQueryLanguage und Query uqQueryLanguage, beide für die LookUpCombobox. Die query hat folgende Abfrage:

Code:
SELECT * FROM languages
In der LookUpCombobox hab ich als ListSource dsQueryLanguage ausgewählt und als KeyField ID sowie als ListField langname. Das Databinding hab ich erstmal leer gelesen.

Starte ich nun das Programm sehe ich in der LookUpCombobox auch meine zwei Sprachen, die im moment in der DB sind (Deutsch und Englisch), wähle ich allerdings etwas aus, bleibt die LookUpCombobox leer. Ich hab auch schon testweise das Databinding definiert, aber das tut auch nicht.

Hat jemand eine Idee, woran es klemmt?

Bebe 22. Apr 2011 16:21

AW: DBLookUpComboBox - Verständnisfrage
 
Hallo,

die 'Databinding' ist ein Muss.

Zitat:

Zitat von Die Muhkuh (Beitrag 1096438)
Starte ich nun das Programm sehe ich in der LookUpCombobox auch meine zwei Sprachen, die im moment in der DB sind (Deutsch und Englisch), wähle ich allerdings etwas aus, bleibt die LookUpCombobox leer. Ich hab auch schon testweise das Databinding definiert, aber das tut auch nicht.

Die LookUpComboBox bleibt nach Auswahl leer, wenn du keine Verknüpfung zum korrekten Feld hat. In deinem Beispiel[Listsource=dsQueryLanguage,KeyFieldnames=ID und ListFieldNames=langname] muss Databinding so aussehen : langstrings.lang_id (davon natürlich die Datasource)

Gruß
Matze

PS.Bei ListFieldNames kannst du auch mehrere Felder anzeigen lassen. So z. B. wenn du beide Felder anzeigen möchtest, dann sollte ListFieldsnames so aussehen=ID;langname


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:13 Uhr.

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