Hallo, wenn ein berechneter Wert eine Minus-Zahl ergibt, wird im DBGrid diese Minuszahl mit dem entsprechenden Minus Zeichen dargestellt z.B. -10. Wie kann man erreichen, das wenn der Wert einer Plus-Zahl errechnet wurde, dieser Wert auch mit dem Plus-Zeichen angezeigt wird z.B +10 in der entsprechenden Spalte. Ich arbeite mit Paradox 7 und Local SQL. Vielen Dank für Tipps. Gruss ph.
Announcement
Collapse
No announcement yet.
Vorzeichen beibehalten
Collapse
X
-
Hallo,
in diesem Fall würde ich über den Feld-Editor eine persistente TField-Instanz für diese Tabellenspalte anlegen und dort eine Ereignisbehandlungsmethode für <b>OnGetText</b> nutzen:
<pre>
procedure TForm1.Table1AreaGetText(Sender: TField; var Text: String;
DisplayText: Boolean);
begin
if Sender.Value > 0 then
Text := '+' + IntToStr(Sender.Value)
else
Text := IntToStr(Sender.Value);
DisplayText := True;
end;
</pre>
-
Hallo, vielen Dank. Ich blicke nur mal wieder nicht durch. Über den Feld-Editor habe ich eine neue Spalte in der Tabelle angelegt. Dann die procedure OnGetText. Ich bekomme die Fehlermeldung: Auf DisplayText zugewiesener Wert wird nie benutzt. Möglich das ich die TField-Instanz nicht richtig angelegt habe. Ich glaube ich bringe mal wieder alles durcheinander. Bemühe mich weiter. Aber gibts vielleicht noch einen Hinweis. Danke ph
Comment
-
Hallo alle zusammen,
oft unbeachtet bleibt die Eigenschaft "DisplayFormat" von TField. Trage dort eine Formatierung, wie in Excel, ein. z.B. "+" 0.00;"-"0.00. Alles was dort in einfache oder doppelte Anführungszeichen geschrieben wird, wird unverändert übernommen. Vor dem Semikolon steht der Wert für positive Zahlen, nach dem Semikolon der für negative Zahlen. Falls du einen dritten Abschnitt hinzufügst, gilt der für Null-Werte. Also ganz wie die Zellformatierung in Excel.
mfg Klaus-Pete
Comment
Comment