Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi In einem DBGrid andere Dinge anzeigen als drinstehen (https://www.delphipraxis.net/183004-einem-dbgrid-andere-dinge-anzeigen-als-drinstehen.html)

p80286 4. Dez 2014 12:36

AW: In einem DBGrid andere Dinge anzeigen als drinstehen
 
Dann laß doch die Finger von dem TDBwasweißich.
Bei mir kommen die Daten aus der Query in irgendeinem "nichtdisplayformat an, und ich kann damit machen was ich will, z.b. für amerianische Benutzer deren Datumsformat für die Anzeige und für deutsche deren Format (ja ich weiß, ISO ist eigentlich das Datumsformat, aber meine Benutzer wissen das nicht)
Auf jeden Fall habe ich immer eine strikte Trennung zwischen Daten und Anzeige.

Gruß
K-H

Uwe Raabe 4. Dez 2014 12:52

AW: In einem DBGrid andere Dinge anzeigen als drinstehen
 
Zitat:

Zitat von Der schöne Günther (Beitrag 1282227)
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.

Das kommt darauf an, was du wirklich erreichen willst. Soll lediglich in diesem einen Grid die Anzeige des Feldwertes ander sein, als es die Standardformatierung des TField-Objects vorgibt, oder soll dieses Feld in allen Anzeige- und Editier-Controls in dieser veränderten Form dargestellt werden. Im ersten Fall sollte man die Manipulation in dem Grid oder dem dazugehörigen Formular durchführen. Für den zweiten Fall sind die Events des Feldes der richtige Ort.

Es ist ja auch nicht so, daß auch im normalen Betrieb die Datenfelder in ihrem nativen Format angezeigt werden. Alle TField-Objekte haben ein Standardverhalten für die Umwandlung der realen Feldinhalts in eine lesbare und editierbare Form. Bei numerischen Feldern kann man das auch noch durch das Property DisplayFormat steuern. Nur wenn man von diesem Standard abweichen will, muss man das in OnGetText und OnSetText selber implementieren (z.B. ein Integerfeld binär als Folge von 0 und 1 darstellen und editieren). Die visuelle Darstellung und Eingabe metrischer Datenwerte in imperialen Einheiten ist ein durchaus öfter anzutreffender Anwendungsfall. Ob die Umwandlung dann tatsächlich stattfindet entscheidet wird meistens über einen entsprechenden Konfigurationseintrag entschieden.

Dejan Vu 4. Dez 2014 13:29

AW: In einem DBGrid andere Dinge anzeigen als drinstehen
 
Wenn Du mit einem TDB-Grid arbeiten willst, dann mach die Formatierung in einem Dataset. Wenn dir die Quelle nicht passt (weil das quasi die Rohdaten sind), dann mach eine Kopie (als CDS oder Memdata). Das ist nichts anderes als ein Viewmodel. Und in der Kopie kannst Du dann machen, was Du willst.


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:01 Uhr.
Seite 3 von 3     123   

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