Einzelnen Beitrag anzeigen

Perlsau
(Gast)

n/a Beiträge
 
#23

Nachtrag

  Alt 23. Jun 2012, 06:29
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ß ...
  Mit Zitat antworten Zitat