![]() |
AW: Umlaute in UTF8: Äthiopien statt Äthiopien
Zitat:
Was mir noch auffällt: Wenn ich auf ISO8859_1 umstelle, kann ich in den Tabellen-Lookup-Feldern locker nach dem richtigen Eintrag suchen mit Eingabe der ersten paar Buchstaben, wie man das eben so von einer Lookup-Komponente kennt. Habe ich dagegen auf UTF8 gestellt, geht das nicht mehr ... die Lookup-Komponente in der Tabelle reagiert nicht auf meine Eingaben, nur auf Cursertasten und Enter ... |
AW: Umlaute in UTF8: Äthiopien statt Äthiopien
So, jetzt hab ich eine Lösung entwickelt, ohne vorerst auf meine Zugriffskomponenten verzichten zu müssen:
In der DB hab ich ein View erstellt, das ich in Delphi mit einem Dataset verbinde. Daneben läuft natürlich noch ein Dataset mit der "echten" Tabelle. Beide Tabellen zeigen stets denselben Datensatz. 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
Zitat:
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ß ... :wink: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:05 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz