Binding e DateTimePicker

martedì 16 dicembre 2008 - 11.13

Teech Profilo | Expert

Ho una classe che uso come filtro per delle interrogazioni su un DB. La classe è formata da una serie di proprietà di vario tipo fra cui anche Date.
Costruendo la classe imposto dei valori di defualt alle varie proprietà:
Private _Codice As Integer = 0 Private _Descrizione As String = String.Empty Private _Data As DateTime = Date.MinValue
Questa classe la passo nel costruttore di un form attraverso il quale l'utente valorizza a suo piacimento le proprietà di questa classe. Per semplicità ho aggiunto ai controlli i Bindings:
Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra
Per le proprietà di tipo DateTime mi sembrava logico utilizzare il controllo DateTimePicker ed ho fatto il Binding come sopra riportato. Il problema è che aprendo il form il valore VISUALIZZATO del DateTimePicker è la data impostata nella proprietà Value iniziale e non VISUALIZZA quella della proprietà della classe filtro. Ho sottolineato che parlo di visualizzazione in quanto il valore reale (la proprietà Value) del controllo è corretto.

Da alcune prove ho capito che il controllo DateTimePicker ha 2 proprietà, MinDate e MaxDate, che hanno rispettivamente un valore minimo di 01/01/1753 e massimo di 31/12/9998. La cosa assurda è che i tipi DateTime hanno dei metodi statici che restituiscono il MinValue e MaxValue del tipo di dato e sono rispettivamente 01/01/001 e 31/12/9999... Credo che sia questo il motivo per il quale la visualizzazione non avviene correttamente... Il Binding funziona correttamente, in quanto se il controllo prende il focus all'uscita il valore della proprietà della classe Filtro è valorizzata con la data del DateTimePicker.
A parte l'assurdo che il controllo creato per visualizzare il tipo di dato non corrisponde sapete come posso risolvere il problema?
P.S.: Volevo usare il minor numero possibile di costanti nel mio codice per mie convinzioni e doverle usare per questi motivi mi disturba...
--------------
Maurizio Brini
--------------
Nessuna impresa è mai stata compiuta da un uomo ragionevole
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5