TFDTable in Master/Detail Verknüpfungen
22. Sep 2020, 09:37
Datenbank: Firebird • Version: 2.5 • Zugriff über: FireDac
Hallo,
ich habe hier ein nicht nachvollziehbares Problem, für das ich keine Erklärung finde.
Dies äussert sich darin, dass eine Sortierung und Browsen innerhalb des Grids nicht oder nicht richtig möglich ist, wenn die Sortierung über ein String-Feld eingestellt ist und im String-Feld Umlaute vorhanden sind.
Wird eine aufsteigende Sortierung über tblDetail.IndexFieldNames := 'Nr;Matchcode:A;PosNr';
zur Laufzeit eingestellt, so kann im Grid nach unten über den letzten Datensatz hinaus weitergescrollt werden.
Wird eine absteigende Sortierung über tblDetail.IndexFieldNames := 'Nr;Matchcode:D;PosNr';
zur Laufzeit eingestellt, so kann im Grid nach oben über den ersten Datensatz hinaus weitergescrollt werden.
In beiden Fällen, werden Datensätze zur Anzeige aus bestehenden Datensätzen verwendet.
Der Formularaufbau ist wie folgt
Auf einem Formular sind jeweils zwei TFDTable+TDataSource+TDBNavigator Komponenten vorhanden, die beiden TFDTables greifen über eine TFDConnection auf einen Firebird-Server zu. Die Daten der Tabelle 1 werden über zwei DBFelder (Nr, Matchcode), die Daten aus der Tabelle 2 über einen TDBGrid angezeigt.
Die Strukturen der Tabellen sind wie folgt (im weiteren Master und Detail):
Master: Nr integer, Matchcode varchar(100) und Index auf Nr und Index auf Matchcode
Detail: Nr, PosNr integer, Matchcode varchar(100) und Index auf Nr, PosNr und Index auf Matchcode
Die Detail-Tabelle ist über das Feld 'Nr' mit Master 'Nr' verknüpft
Fragen:
- Kann über FireDac überhaupt eine einfache Master/Detail-Beziehung richtig angezeigt werden?
- Sind spezielle Einstellungen notwendig für TFDConnection, TFDTable, ...?
- Ist es besser oder notwendig, Alternativ-Komponenten einzusetzen?
- Hat jemand eventuell ein verfügbares und funktionierendes Beispielprojekt?
- Warum hat es unter FireDAC für Delphi7 funktioniert?
Vielen Dank
Gruss Gremlin
|