Hallo zusammen,
meine Frage betrifft zwar eigentlich den C++-Builder 3, aber da die
VCL in Delphi geschrieben ist, stelle ich meine Frage in diesem Forum.
In einer Datenbank habe ich eine Tabelle mit Ländercodes und den entsprechenden Namen. Die Ländernamen (z.B. Deutschland) möchte ich in einer Combobox zur Auswahl anbieten um dann mit dem entsprechenden Landescode (z.B. DE) einen Filter einer TQuery auf eine andere Tabelle zu setzen um nur die zu diesem Land gehörenden Datensätze auszuwählen. Die Datensätze sollen nicht geändert werden (read only).
Folgendes habe ich bis jetzt versucht:
1) TDBLookupCombobox.
Sie zeigt mir zwar die Länder entsprechend des im aktuellen Datensatz gespeicherten Landescodes an, läßt aber keine Auswahl zu, da der Datensatz nicht zum Editieren freigegeben ist.
2) TCombobox (wurde in einem anderen Posting in diesem Forum erwähnt).
Sie erlaubt das Speichern von Strings. Damit kann ich aber entweder nur die Landescodes, nur die Namen oder aber einen String der Art Code=Name speichern, aus dem ich dann den Code zum Setzen des Filters extrahieren könnte. Dies gefällt mir aber nicht besonders. Ich möchte die Namen anzeigen, benötige aber die Codes zum Filtern. Eine Rückwärtssuche in der Datenbank um vom Ländernamen auf den Landescode zu kommen erscheint mir auch nicht sinnvoll.
Ich habe auch schon daran gedacht, zusammen mit den Strings in der Combobox ein Objekt für den Code zu speichern (TStrings->Items, TStrings->Objects), aber geht das nicht eleganter?
Wahrscheinlich habe ich die naheliegendste Lösung übersehen
Hat von Euch jemand eine Idee, wie ich das Problem am elegantesten lösen kann?
Vielen Dank für Eure Hilfe,
Ralf Gorholt