Will ich die Währungs-Spalte des angezeigten Landes ändern, verwende ich dazu eine TDBLookupComboBox, die bei Enter die "echte" Tabelle Währung in den Editmodus versetzt und bei Exit postet und mit demselben Atemzug das View-Dataset refresht bzw. schließt und wieder öffnet. Die Darstellung in im
DB-Grid ist jetzt korrekt.
Nachtrag
Die Darstellung im
DB-Grid ist zwar korrekt, jedoch warten meine alten FibPlus-Kompos mit einem weiteren Fehler auf: Die Einträge in der TDBLookupComboBox lassen sich nicht via Anfangsbuchstaben auswählen, wenn die Tabellen in der
DB mit UTF8 kodiert sind.
Workaround: Beim Programmstart werden die Felder der benötigten Tabellen in normale Commboboxen eingelesen. Beim der Anwendung dieser Comboboxen ist aber auf einiges zu achten:
1. Ist die Indexierung (PK = PrimaryKey) der entsprechenden Tabelle durchgehend fortlaufend und gleichzeitig sichergestellt, daß keine Einträge gelöscht werden und somit später Index-Nummern fehlen, kann der ItemIndex der Combobox als Referenz auf den Index der Tabelle verwendet werden. Dabei ist aber zu beachten, daß eine Tabellen-Indexierung nicht immmer mit 0 beginnt wie der ItemIndex einer TStringList.
2. Trifft obige Voraussetzung nicht zu, muß der mit dem gewählten Combobox-Eintrag assoziierte Tabelleneintrag mittels Locate gesucht werden.
Immerhin, so funktioniert es erstmal.
Fazit: Man muß nicht immer Geld für Komponenten ausgeben, wenn man sich auch anders zu helfen weiß ...