Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi [Frage] - Nachkommastellen im DBGrid anzeigen? (https://www.delphipraxis.net/95024-%5Bfrage%5D-nachkommastellen-im-dbgrid-anzeigen.html)

divBy0 29. Jun 2007 11:41

Datenbank: MySQL • Version: 5 • Zugriff über: ZeosLib

[Frage] - Nachkommastellen im DBGrid anzeigen?
 
Hallo!

Sorry, ich muss wieder mal was posten, passiert warscheinlich noch öfter heut... :oops:

In der DB-Tabelle hab ich Spalten mit dem Datentyp FLOAT(7,2) angelegt. Betrachte ich mir die Tabelle im
MySQL-Query Browser werden die enthaltenen Werte richtig mit 2 Nachkommastellen angezeigt.
Wenn ich die Tabelle allerdings in einem DBGrid anzeigen lasse, dann sind die Nachkommastellen weg, dh. aus z.B. "4.00" wird "4", steht da z.B. "4.12" wird auch "4.12" angezeigt.
Wegen der Übersichtlichkeit sollten aber bei allen Werten 2 Nachkommastellen angezeigt werden.

Wie bekomme ich das hin?

Gruß
Marc

mkinzler 29. Jun 2007 11:44

Re: [Frage] - Nachkommastellen im DBGrid anzeigen?
 
Was für einen Feldtyp hat die Spalte im Grid?

divBy0 29. Jun 2007 11:46

Re: [Frage] - Nachkommastellen im DBGrid anzeigen?
 
Sorry, ich bin da totaler Einsteiger, bin froh, dass ich was in die DB rein- und rausbekomme.

Wo kann ich in dem Grid denn den Feldtyp anlegen? :gruebel:

mkinzler 29. Jun 2007 12:04

Re: [Frage] - Nachkommastellen im DBGrid anzeigen?
 
War von mir nicht ganz klar ausgedrückt. Ich meinte der typ des feldes das hinter der Spalte steckt.
Wie greifst du auf die MySQL-Tabelle zu?

divBy0 29. Jun 2007 12:20

Re: [Frage] - Nachkommastellen im DBGrid anzeigen?
 
Also der Typ ist Float(7,2)

Zugriff über die ZeosLib mit einem ZReadOnlyQuery.

Hier ist mal der Ausschnitt:

Delphi-Quellcode:
with ZReadOnlyQuery2 do
  begin
    SQL.Clear;
    SQL.Text := 'SELECT * FROM `mytable`.`mydb` ORDER BY datum DESC, zeit;';
    ExecSQL;
    Active := true;
  end;
Beim DBGrid sind DataSource und DataSet korrekt eingetragen.

Hoffe das hilft weiter...

mkinzler 29. Jun 2007 12:39

Re: [Frage] - Nachkommastellen im DBGrid anzeigen?
 
-das ExecSQL ist überflüssig.

Lass dir mal persistente Felder im DataSet an.

shmia 29. Jun 2007 12:42

Re: [Frage] - Nachkommastellen im DBGrid anzeigen?
 
Delphi-Quellcode:
with ZReadOnlyQuery2 do
  begin
    // SQL.Clear; // überflüssig -> weglassen
    SQL.Text := 'SELECT * FROM `mytable`.`mydb` ORDER BY datum DESC, zeit'; // <== kein Strichpunkt in SQL-Anweisung
    // ExecSQL; <== Falsch! muss weg
    Active := true;
    // Displayformat anpassen, damit immer 2 Nachkommast. angezeigt werden
    (FieldByName('DasFeld') as TNumericField).DisplayFormat := '###0.00';
  end;

divBy0 29. Jun 2007 12:52

Re: [Frage] - Nachkommastellen im DBGrid anzeigen?
 
Danke!

Thanatos81 29. Jun 2007 13:01

Re: [Frage] - Nachkommastellen im DBGrid anzeigen?
 
Und wenn du statt
Delphi-Quellcode:
(FieldByName('DasFeld') as TNumericField).DisplayFormat := '###0.00';
diesen hier
Delphi-Quellcode:
(FieldByName('DasFeld') as TNumericField).DisplayFormat := '#,##0.00';
nimmst hast du statt
Code:
1234,58
das etwas angenehmere
Code:
1.234,58
;-)


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:48 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz