Hallo zusammen,
bin neu bei Delphi und hab mich durch alle möglichen Bücher/Tutorials gehangelt.
Folgendes ist gegeben:
- Delphi 10.4.2
- Anwendung mit FireMonkey erstellt
- SQLite-
DB angefügt
- SQLite-Tabelle mit Zahlen und Texten
- TFDQuery holt per
SQL die nötigen Daten aus der SQLite-Tabelle
- TDataSource hinzugefügt
- TBindSourceDB hinzugefügt
- per LiveBinding ein TGrid bzw. TStringGrid verknüpft und Daten werden problemlos angezeigt. (Ich habe es mit TGrid und mit TStringGrid getestet)
Nun stellt sich die Frage, wie kann ich einen Integerwert 0|1 einer SQLite als Checkbox in einem TGrid bzw. TStringGrid anzeigen?
Ich habe per Spalteneditor alle Felder einzeln hinzugefügt und für das Integerfeld den ColumnStyle auf CheckColumn umgestellt.
Da SQLlite kein Boolean kennt aber CheckColumn Boolean möchte, habe ich von folgendes gesetzt:
- CustomFormat: ToStr(%s)<>"0"
- CustomParse: IfThen(ToStr(%s)="True",1,0)
In der LiveVorschau werden die Checkboxen angezeigt und auch auf Basis der Daten richtig gesetzt. Wenn ich nun aber die Anwendung kompiliere, dann ist die Spalte mit den Checkboxen leer und nur bei 2x Klick in eine Zelle wird die Checkbox angezeigt und der Haken gesetzt.
In der
DB-Tabelle steht dann zwar eine "1" drin, aber ich bekomme den Haken auch nicht mehr raus.
Es spielt keine Rolle ob ich TGrid oder TStringGrid verwendet. An dem Problem hänge ich scon etliche Tage und hab auch sonst nichts dazu gefunden.
Für jeden Hinweis dankbar.
MfG
Mario