![]() |
Formatierte Dezimalstellen
Hi folks,
vermutlich wieder eine einfache Sache, die ich aber im Moment nicht gebacken krieg. Wie kann man in DBEdit Zahlen formatieren, daß z.B. immer schön brav 2 Nachkommastellen angezeigt werden :?: 1,20 anstatt 1,2, 22,88 anstatt 22,87775. Schönen Tag noch. |
Re: Formatierte Dezimalstellen
Formatier dir die Ausgabe vorher mit Format.
|
Re: Formatierte Dezimalstellen
Luckie, Finger weg von Datenbanken. :warn: :mrgreen: Das da ist ein häufiger Fehler. Und das liegt meist nicht am DBEdit, sondern an dem Dataset. Guck mal da nach DisplayFormat oder so.
|
Re: Formatierte Dezimalstellen
Zitat:
|
Re: Formatierte Dezimalstellen
Genau sowas würd ich auch gerne machen. TDBEdit Felder in der Anzeige formatieren und zwar mit Dezimalstellen. Ich habe TDBEdit Felder und möchte keine andere Komponente verwenden. Gibts da was einfaches?
In der Datenbankstruktur kann und darf ich nichts ändern... Müsste also rein über die Anzeigekomponente machbar sein. Zitat:
|
Re: Formatierte Dezimalstellen
Über einen Umweg :arrow: habe ich mein Problem/Bedürfnis wie folgt gelöst:
-SQL Connection manuell aktiviert (Connection Komponente mit Connection Parameter ausgestattet -> dies mache ich normalerweise im Programm zur Laufzeit über ein Ini-File) -SQL Query Komponente mit SQL.text befüllt, damit die Verbindung geöffnet werden kann und das ClientDataSet befüllt wird. -Beim Client Dataset doppelklick -> öffnet den Feld Editor, es sind noch keine Felder vorhanden. Mit der rechten Maustaste kann man alle Felder welche in der Tabelle verfügbar sind einfügen. Nun kann man bei jedem Feld separat das Displayformat anpassen (z.B: 0.0 für Dezimalanzeige). :thumb: |
Re: Formatierte Dezimalstellen
warum so umständlich, wenn es doch eine elegante Lösung gibt :roll: :?:
Im AfterOpen-Ereignis des DataSets (Tabelle oder Query) das hier coden:
Delphi-Quellcode:
//EDIT: Diese Vorgehensweise macht nur dann Sinn, sofern keine persistenten Felder (FeldEditor des DataSet) eingerichtet sind (was ich grundsätzlich NICHT mache, weil zu unflexibel) - denn dort kann über die Eigenschaft .DisplayFormat ein entsprechendes Format eingetragen werden...
procedure TDataModule1.TabelleXYZAfterOpen(DataSet: TDataSet);
begin //--Variante 1 (DataSet.FieldByName(FeldName) as TNumericField).DisplayFormat := '#0.00'; //--Variante 2 TNumericField(DataSet.FieldByName(FeldName)).DisplayFormat := '#0.00'; //--FeldName steht für das entsprechende Tabellen-/QueryFeld, auf das die Formatierung angewendet werden soll end; |
Re: Formatierte Dezimalstellen
vielen Dank für diese Lösungsmöglichkeit, das ist natürlich ziemlich genial...
Gruss Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:29 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-2025 by Thomas Breitkreuz