Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Tausendertrennzeichen in einem DB-Grid darstellen (https://www.delphipraxis.net/26208-tausendertrennzeichen-einem-db-grid-darstellen.html)

ak1 20. Jul 2004 11:30


Tausendertrennzeichen in einem DB-Grid darstellen
 
Hallo Leute,

ich habe ein DB-Grid, welches seine Daten aus einer TQuery bekommt. Diese Query wird dynamisch zur Laufzeit erstellt.
Jetzt möchte ich mit :
Code:
FormatFloat('##,###,##0.00',DBGrid2.Fields[3].value);
meine Ausgabe im DBGrid formatieren. Leider funktioniert das nicht.
Ich habe hier auch schon im Forum etwas zu "onGetText" gelesen, das geht bei mir aber nicht, da meine Query die Daten erst später bekommt. Den "unsauberen" Umweg über eine temporäre Tabelle möchte ich nicht gehen.
Wie kann ich nun meine Ausgabe formatieren?

Gruß und besten Dank im Vorraus

Sharky 20. Jul 2004 11:32

Re: Tausendertrennzeichen in einem DB-Grid darstellen
 
Zitat:

Zitat von ak1
...Wie kann ich nun meine Ausgabe formatieren?...

Hai ak1,

rechter Mausklick auf dein Query. Feld-Editor - Alle Felder hinzufügen. Jetzt kannst Du für jedes Feld im OI ein Displayformat angeben.

ak1 20. Jul 2004 11:50

Re: Tausendertrennzeichen in einem DB-Grid darstellen
 
Hallo sharky,

genau das ist mein Problem. Meine Query hat im OI keine Felder, da die Felder der Query erst zur Laufzeit zugefügt werden.

ibp 20. Jul 2004 11:55

Re: Tausendertrennzeichen in einem DB-Grid darstellen
 
... dann mußt du das diplayformat eben zur laufzeit zufügen...

djmasi 20. Jul 2004 12:07

Re: Tausendertrennzeichen in einem DB-Grid darstellen
 
Und zwar so:
Delphi-Quellcode:
Query1FieldName.DisplayFormat := '#.##$';
z.B. Query1salary.Displaformat, wenn deine Query1 ein Feld "salary" hat

Sharky 20. Jul 2004 12:11

Re: Tausendertrennzeichen in einem DB-Grid darstellen
 
Zitat:

Zitat von ak1
Hallo sharky,

genau das ist mein Problem. Meine Query hat im OI keine Felder, da die Felder der Query erst zur Laufzeit zugefügt werden.

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  preisfeld : TField;
begin
  with Query1 do
  begin
    Close;
    SQL.Text := 'SELECT * FROM test';
    Open;
    preisfeld := fields.FieldByName('preis');
    TFloatField (preisfeld).DisplayFormat := '##,###,##0.00';
  end;
end;

ak1 20. Jul 2004 12:41

Re: Tausendertrennzeichen in einem DB-Grid darstellen
 
Danke Leute, klappt sehr gut.

:-)

Was mich ja noch interessiert ist, warum ich von der Klasse TFloatfield keine Instanz (Objekt) erzeugen muss.
In Java wäre das dann eine statische Klasse, von der keine Instanz erzeugt werden muss. Nur habe ich in der OI nichts von static oder ähnlichem gefunden.
Hat da jemand eine Erklärung?


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:25 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 by Thomas Breitkreuz