Hallo,
ich habe in der Datenbank ein Datum als VARCHAR in folgendem Format vorliegen.
20160728
Nun möchte ich dieses Datum im DBGrid aber folgendermaßen angzeigt haben.
28.07.2016
Gibt es da eine Formatierungsmöglichkeit ?
Das DBGrid ist an einer TDatasource mit entsprechendem Feldnamen angeschlossen.
Gruß Frank
DBGrid Spalte Formatieren
- af0815
- Lazarusforum e. V.
- Beiträge: 6767
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Re: DBGrid Spalte Formatieren
Ich würde das nicht im Grid machen, sondern mir einen Event in der Datasource oder besser in den Fields heraussuchen und dort die Umwandlung machen, damit bekommt das Grid schon die richtigen Daten
Siehe https://www.freepascal.org/docs-html/fcl/db/tfield.html
Damit kann man das ganze in beide Richtungen steuern. EIn einfaches Beispiel hier http://forum.lazarus.freepascal.org/ind ... ic=18241.0
Code: Alles auswählen
property OnChange: TFieldNotifyEvent; [rw] Event triggerd when the field's value has changed
property OnGetText: TFieldGetTextEvent; [rw] Event to format the field's content
property OnSetText: TFieldSetTextEvent; [rw] Event to set the field's content based on a user-formatted string
Damit kann man das ganze in beide Richtungen steuern. EIn einfaches Beispiel hier http://forum.lazarus.freepascal.org/ind ... ic=18241.0
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
-
- Beiträge: 2013
- Registriert: Do 16. Okt 2008, 10:22
- OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
- CPU-Target: x86,x64,ARM
Re: DBGrid Spalte Formatieren
Eine Alternative wäre, das QSO-Datum nicht als VARCHAR in der Datenbank zu speichern, sondern mittels TDatetime als DATE oder noch besser qso_date und
rst_sent/rst_rcvd zu einem TDatetime zusammenzufassen und als DATETIME oder TIMESTAMP-Feld in der Datenbank abzulegen. Damit würde sich die chronologische Sortierung vereinfachen und für die Formatierung könnten die FCL-Standardmethoden angewandt werden.
rst_sent/rst_rcvd zu einem TDatetime zusammenzufassen und als DATETIME oder TIMESTAMP-Feld in der Datenbank abzulegen. Damit würde sich die chronologische Sortierung vereinfachen und für die Formatierung könnten die FCL-Standardmethoden angewandt werden.