Newsgroup: it.comp.lang.visual-basic
Titolo: DTPicker con valore null: ci sono quasi, ma ...

Ciao,
io ho bisogno di far vedere "niente" nel controllo DTPicker (quando il
valore "associato", da database, è null).
Allora, ci sono "quasi" riuscito, facendo così:
- metto .Format = dtpCustom
- nell'evento _FormatSize e _Format dico di mostrare una stringa nulla
- sull'evento _Change, metto .Format = dtpShortDate
Provate: create un form con un DTPicker  copiate questo codice:
Option Explicit
Private Sub DTPicker1_Change()
DTPicker1.Format = dtpShortDate
End Sub
Private Sub DTPicker1_Format(ByVal CallbackField As String,
FormattedString As String)
FormattedString = ""
End Sub
Private Sub DTPicker1_FormatSize(ByVal CallbackField As String, Size As
Integer)
Size = 0
End Sub
Private Sub Form_Load()
DTPicker1.Format = dtpCustom
DTPicker1.CustomFormat = "X"
End Sub
Funziona bene, però (eccolo, il però): l'evento change non viene
generato se si clicca sulla data corrente (quella già scelta). Quindi,
se l'utente fa click sulla data che è già "scelta", non succede
niente. Se fa click su qualsiasi altra data, va bene..
Suggerimenti?
Grazie mille...
P.S. Non voglio mostrare il checkbox...

 Allora, ci sono "quasi" riuscito, facendo cosě:
(snip)
ho avuto il tuo stesso problema, non ricordo come l'ho risolto, ma credo
non in modo soddisfacente, tant'č che ho continuato a rimuginarci sopra e
sono arrivato ad ideare una cosa del genere, che perň non ho ancora messo
in pratica:
invece di mettere un dtpichker metto un textbox con un bottoncino in
fianco (magari si potrebbe fare con un combobox?), quando viene cliccato
il bottoncino mostro il datetimepicker...
che dici, si puň fare?
-- 
Salutoni
Sergio
Per rispondere... togli il group dall'indirizzo
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

> che dici, si può fare?
Mah... ci avevo pensato anch'io. Più che un bottoncino, avevo pensato
ad un checkbox, messo in modalità "Grafica", in modo tale che stia
premuto per tutto il tempo in cui mostro il controllo month...
Il fatto è che il DTPicker ha anche la possibilità di _scrivere_
date, e valida al volo i valori scritti.
Facendo così, bisognerebbe validare a mano quello che l'utente digita
nel TextBox... :/
Il mio problema, in fondo, è "solo" (...e hai detto niente) capire se
l'utente ha fatto click su qualche data del DTPicker, compresa quella
corrente (i.e. già selezionata). Tracciando gli eventi del DTPicker,
non ho trovato niente di tutto ciò...
Ciao e grazie

 nel TextBox... :/
hai ragione.
in effetti mi sono spiegato male, il datatimepiker dovrebbe essere
visualizzato ogni volta che il textbox riceve il focus; ma come ti ho già
detto era solo una "linea di pensiero" che non ho mai provato a tradurre
in pratica


 premuto per tutto il tempo in cui mostro il controllo month...
infatti il DTP ha proprio una proprietà che permette di visualizzare un
checkbox proprio per la gestione del Null.
L'unico limite che ho trovato io è che non puoi assegnare direttamente un
campo del DB nullo al DTP ma devi assegnare proprio il valore Null.
Ciao
--
Qualunque mentecatto può scrivere codice che un computer possa capire.
I buoni programmatori scrivono codice che gli uomini possano capire.
[Martin Fowler]