Nochmal Frage zu Datenbindung

22/10/2008 - 16:35 von Andreas Graefe | Report spam
Hallo,

ich binde Eigenschaften eines Businessobjektes mittels manuellen DataBindings an die Controls (Textboxen, Listen, etc.) im Formular. Im Businessobjekt
befinden sich auch sehr viele Datumsfelder. Diese werden ja beim Neuanlegen des Objektes immer mit DateTime.MinValue initialisiert. Nach
durchgeführter Bindung wird nun überall 01.01.0001 angezeigt. Das ist totaler Mist.
Es kann ja auch vorkommen, dass verschiedene Datumswerte gar nicht eingegeben werden müssen oder anfangs nicht leer dargestellt werden sollen.
Da es sich bei DateTime um einen ValueType handelt ist eine Zuweisung mit NULL nicht möglich.

Wie bindet oder initialisiert man Datumswerte denn richtig? Das gleiche Spiel ist mit Betragswerten oder allen Struktur-Typen, die gebunden werden sollen.

Andreas
 

Lesen sie die antworten

#1 Frank Dzaebel
22/10/2008 - 17:23 | Warnen spam
Hallo Andreas,

... befinden sich auch sehr viele Datumsfelder. Diese werden
ja beim Neuanlegen des Objektes immer mit DateTime.MinValue
initialisiert. Nach durchgeführter Bindung wird nun überall
01.01.0001 angezeigt. Das ist totaler Mist.



Um die Anzeige zu modifizieren kannst Du
vielfàltig eingreifen.
Sinnvoll in Deinem Fall ist wieder über:
Form markieren (öffnen) /
Datenquellenfenster / DateTime-Objekt -
DropdownButton - Anpassen /
... Anpassung der Datenbenutzeroberflàche/
Dein eigenes "Nullable DateTimePicker" Control
einzufügen/zuweisen.

(suche im Netz nach den beiden Wörtern und Du
wirst einige freie Implemantationen entdecken).

Man kann auch in den Events Format und Parse
der Binding-Klasse eingreifen, wenn
weiteres flexibles Handling erwünscht ist.


ciao Frank
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET

Ähnliche fragen