Einzelnen Beitrag anzeigen

Markus Effenberger

Registriert seit: 2. Jul 2014
44 Beiträge
 
Delphi 10.3 Rio
 
#1

Double-Werte in Listview formatieren (Preise mit '0.00')

  Alt 13. Jan 2019, 22:43
Moin!

Wenn man eine Tabelle mit Preisen an eine Listview per LiveBindings verbindet, so entsteht bei z.B. 1 Euro der Text '1'.
Bei 1,10 Euro entsteht der Wert '1,1'.
Die Werte in der Tabelle sind vom Typ Float.
Es wird FMX genutzt.
Also möchte ich die Werte nachträglich formatieren (weil sie ja im Item eh zu Text werden)
und habe mir folgendes gedacht:

Code:
  frmBestellen.ListView.BeginUpdate;
  for i := 0 to frmBestellen.ListView.ItemCount - 1 do
    begin
      frmBestellen.ListView.Items[i].Objects.FindObject('TPreis').Data.AsString :=
        FormatFloat('0.00',
          StrToFloat(
            frmBestellen.ListView.Items[i].Objects.FindObject('TPreis').Data.AsString
               ) );
    end;
  frmBestellen.ListView.EndUpdate;
Geht aber nicht, weil man "AsString" nichts zuweisen kann

Weiß jemand eine Lösung, wie man nachträglich in die dynamischen Elemente (TextObjecte) schreiben kann?
Es handelt sich um eine ListView mit DynamicAppearance.

Schönen RestAbend wünsche ich noch

Markus


PS: Es handelt sich um Delphi 10.3
  Mit Zitat antworten Zitat