![]() |
AW: In einem DBGrid andere Dinge anzeigen als drinstehen
Na gut, dann dreh ich eben am RAD :spin2: soweit nicht noch jemand etwas tolles einfällt
|
AW: In einem DBGrid andere Dinge anzeigen als drinstehen
Zitat:
Man kann ja auch problemlos mit den tatsächlichen Werten der Felder weiterarbeiten, da diese ja nicht verändert werden. Der Event wird ja nur bei der Abfrage der Properties
Delphi-Quellcode:
und
Text
Delphi-Quellcode:
ausgewertet. Die Properties
DisplayText
Delphi-Quellcode:
oder
Value
Delphi-Quellcode:
oder alle anderen
AsString
Delphi-Quellcode:
liefern immer noch die Originalwerte.
As<XXX>
|
AW: In einem DBGrid andere Dinge anzeigen als drinstehen
Zitat:
Hmm.. Vielleicht wirklich nicht so blöd, meine kurzzeitige Gehirnabsenkung. Ich persönlich (der es gerne klar und einfach hat), bevorzuge 'MyField' und 'MyFakedField' als explizite Feldnamen für die Daten. Dann weiß ich selbst nach 10 Tagen noch, was Sache war. |
AW: In einem DBGrid andere Dinge anzeigen als drinstehen
Zitat:
TField.FieldName TField.DisplayName TField.DisplayLabel TField.Value TField.Text TField.DisplayText TField.OnGetText TField.OnSetText TFloatField.DisplayFormat ... Außerdem gibt es z.B. die LookupComboboxen, ebenso wie gewisse Fields/Editoren, welche eine Lookup-Funktion anbieten. Und dann gibt's in so mancher Anzeigekomponenten auch nochmal ähnliche Funktionen, wie z.B. in den Columns der DevArt-Grids. |
AW: In einem DBGrid andere Dinge anzeigen als drinstehen
Das
Delphi-Quellcode:
-Event eines TFields ist wirklich auch interessant. Denn es sagt mir ja explizit, ob er den Wert grade zur Anzeige oder zum Benutzen haben will:
OnGetText
Delphi-Quellcode:
TFieldGetTextEvent = procedure(
Sender: TField; var Text: string; DisplayText: Boolean ) of object; Gute Argumente auf beiden Seiten. Ich muss da mal drüber grübeln... |
AW: In einem DBGrid andere Dinge anzeigen als drinstehen
Was mir jetzt daran nicht mehr gefällt, ist, dass das Feld nun *immer* als 'DisplayText' deinen gefakten Wert anzeigt. Egal wo. Du kommst also kaum noch an die echten Daten ran (mit datensensitiven Controls). Wenn das so gewünscht ist. Gut. Wenn nicht, weiß nich...
|
AW: In einem DBGrid andere Dinge anzeigen als drinstehen
Doch, genau das war eigentlich gewünscht.
Konkretes Beispiel: Rational denkende Menschen (und Software) schreiben und lesen SI-Einheiten. Ein Angelsachse hingegen möchte das in Zoll angezeigt bekommen. Die Verarbeitung und alles passiert weiterhin mit SI-Einheiten. Ich denke hierfür ist das genau richtig :thumb: |
AW: In einem DBGrid andere Dinge anzeigen als drinstehen
Zitat:
Wie schon erwähnt, den originalen Feldwert bekommt man über Value bzw. die As<XXX>-Properties. |
AW: In einem DBGrid andere Dinge anzeigen als drinstehen
Das einzige was mich immer noch wuschig macht ist die Tatsache, dass direkt am TDataSet auf reine Anzeige-Sachen eingehen muss.
Das TDataSet, seine Verbindung und anderes Zubehör hatte ich immer auf einem Datenmodul (sprachneutral), Anzeige wie ein TDBGrid und das TDataSource auf einem Formular. Jetzt muss ich anfangen, das zu vermischen. Oder habe ich es schon immer falsch gemacht? |
AW: In einem DBGrid andere Dinge anzeigen als drinstehen
Man kann im DataSet einheitliche Verhalten implementieren, wo die Anzeige dann überall gleich ist.
CalcFields sind ja auch Dinge, welche da erstmals nichts mit den Daten zu tun haben und dennoch sind sie im DataSet implementiert. Und, wie bereits erwähnt, gibt es von anderen Anbietern auch "ordentliche" Grids, welche welcher die Anzeige ebenfalls in sich anpassen können. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:15 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