Eigenschaft displayformat von dbgrid dynamisch setzen

Für Themen zu Datenbanken und Zugriff auf diese. Auch für Datenbankkomponenten.
Antworten
Eb
Lazarusforum e. V.
Beiträge: 240
Registriert: Di 5. Feb 2008, 15:32
OS, Lazarus, FPC: Linux Mint - Laz 2.2.0
CPU-Target: 64Bit
Wohnort: Stuttgart

Eigenschaft displayformat von dbgrid dynamisch setzen

Beitrag von Eb »

Hallo,

Ich habe ein dbgrid, das ich mit verschiedenen Abfragen füllen möchte.

Klick auf button1 führt diese Abfrage aus:

Code: Alles auswählen

sqlstatement.Add(' SELECT distinct substring(a.name,1,18) as Auto, substring(f.name,1,12) as Fahrer, v.best as Zeit  '                      );
...

Klick auf button2 führt diese aus:

Code: Alles auswählen

sqlstatement.Add(' SELECT distinct substring(f.name,1,12) as Fahrer,substring(a.name,1,18) as Auto, v.best as Zeit  '                      );
  ...

Pro Abfrage stelle ich die Spaltenbreite ein:

Code: Alles auswählen

frm_auswertung.DBGRid1.Columns[0].Width:= 200;
  frm_auswertung.DBGRid1.Columns[1].Width:= 300;
  frm_auswertung.DBGRid1.Columns[2].Width:= 130;

Nun möchte ich für die dritte Spalte folgendes Zahlenformat setzen: ##0.00

Über den Objektinspektor geht das zwar, aber nicht wenn das dbgrid mit unterschiedlichen selects gefüttert werden soll.


Weiss jemand, wie die Syntax ist, um das displayformat während der Laufzeit zu setzen?

Eberhard

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

frm_auswertung.DBGRid1.Columns[0].DisplayFormat := '##0.00'; ??
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Eb
Lazarusforum e. V.
Beiträge: 240
Registriert: Di 5. Feb 2008, 15:32
OS, Lazarus, FPC: Linux Mint - Laz 2.2.0
CPU-Target: 64Bit
Wohnort: Stuttgart

Beitrag von Eb »

Das hatte ich schon versucht, das bringt:

Error: identifier idents no member "DisplayFormat"

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

TColumn(DBGrid1.Columns[0]).DisplayFormat:=;

kurze Suche hätte das auch ergeben, hatte ich vergessen.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Eb
Lazarusforum e. V.
Beiträge: 240
Registriert: Di 5. Feb 2008, 15:32
OS, Lazarus, FPC: Linux Mint - Laz 2.2.0
CPU-Target: 64Bit
Wohnort: Stuttgart

Beitrag von Eb »

funktioniert - Vielen Dank!

Das TColumn() hat mir gefehlt.

Gibt es einen Grund, warum beim Setzen von width das TColumn nicht erforderlich ist?

Noch ne grundsätzliche Frage: wie hätte ich das selbst herausfinden können?

Und wie könnte ich herausfinden welche Formate bei 'displayformat' sonst noch möglich sind?
Das mit dem Zahlenformat habe ich über google und ausprobieren herausgekriegt.
Es müsste doch aber irgendwo eine Auflistung der möglichen Formate geben.

Eberhard

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Versuchs doch mal mit einer Suchmaschiene deiner Wahl,

Die suche nach "Delphi Displayformat" bei giigle ergibt als 3. treffer das hier:

http://www.eulanda.de/inside/entwickler ... format.htm
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

monta
Lazarusforum e. V.
Beiträge: 2809
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

Beitrag von monta »

da wäre aber immer noch die Frage ob das ganze unter Lazarus exakt so ist ;)
Johannes

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Sollte man erstmal von ausgehen, da Lazarus ja weitestgehend Delphi kompatibel ist wenn was nicht so funktioniert wäre das einen Bugreport zumindest mal eine Frage auf der Mailingliste Wert.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Antworten