Change tracking - wie am besten implementieren?

06/07/2008 - 21:05 von Bernd Schend | Report spam
Hallo zusammen,

die Ausgangssituation kennt jeder: ich übergebe eine Klasse an eine
Form, auf der dann ein Benutzer bestimmte Properties àndern kann.
Abschließend (z.B. beim Drücken des Ok-Buttons) werden die Properties
mit den aktuellen Werten der Form aktualisiert.

Jetzt meine Frage: Welche Techniken wendet ihr an, um nach dem
Schließen der Maske festzustellen, welche Properties vom Benutzer
geàndert wurden?

Für eure Tipps schon jetzt vielen Dank.

Gruß
Bernd

P.S.:
Ich möchte nicht für jedes Form-Control einen
TextChanged-Event-Handler definieren.
 

Lesen sie die antworten

#1 Elmar Boye
07/07/2008 - 12:30 | Warnen spam
Hallo Bernd,

Bernd Schend schrieb:
die Ausgangssituation kennt jeder: ich übergebe eine Klasse an eine
Form, auf der dann ein Benutzer bestimmte Properties àndern kann.
Abschließend (z.B. beim Drücken des Ok-Buttons) werden die Properties
mit den aktuellen Werten der Form aktualisiert.

Jetzt meine Frage: Welche Techniken wendet ihr an, um nach dem
Schließen der Maske festzustellen, welche Properties vom Benutzer
geàndert wurden?



Für die Funktionalitàt wàre im Kern die Schnittstelle INotifyPropertyChanged
zu implementieren:
<URL:http://msdn.microsoft.com/en-us/lib...d.aspx>
Im dafür zu implementierenden OnNotifyProperyChanged kannst Du
global ein Changed Flag setzen.

Eine weitergehende Implementierung würde zudem IEditableObject
unterstützen, wodurch eine transaktionsorientierte Bearbeitung
möglich wird.

Die Zusammenhànge erlàutert:
<URL:http://msdn.microsoft.com/de-de/library/41e17s4b(VS.85).aspx>

Den dafür notwendigen Code kannst Du Dir über einen Generator
erzeugen lassen (z. B. CodeSmith, MyGeneration).

Ich möchte nicht für jedes Form-Control einen
TextChanged-Event-Handler definieren.



Auf Form Ebene wàre das auch falsch angesiedelt, da es einer
universellen Verwendung der Klassen entgegensteht.

Gruß Elmar

Ähnliche fragen