Datetimepicker perde il valore impostato all'uscita del controllo

venerdì 12 maggio 2006 - 00.28

fabricosta Profilo | Newbie

salve a tutti, ho un problemino con questo controllo, del quale non riesco a trovarne soluzione.

Ho una form con una grid che contiene l'elenco dei valori della mia tabella/e, e sotto di essa una serie di textbox, checkbox, ... con il loro binding che peraltro funziona correttamente, se non per questo controllo.

all'apertura della form faccio la fill del mio dataset, carico la datagrid, e faccio il binding sulle mie textbox e su un bel datetimepicker. In questo modo mi trovo comunque il primo record selezionato, e valorizzato in dettaglio nelle mie textbox.

Alla pressione del tasto "NUOVO" pulisco le text, ed inizio a scrivere. Arrivo sul mio dateTimePicker, imposto il valore, ma appena perde il focus e passo alla textbox successiva si reimposta il valore da solo sulla base del valore nel record selezionato al momento della pressione del pulsante. come posso fare?

Grazie 1000
fabrizio

fabricosta Profilo | Newbie

Onestamente no... sul pulsante nuovo faccio solo...

textbox1.text = ""
....
....
datetimepicker.value = today()

Appena clikko sulla datetime... scelgo la data... e mi sposto di controllo... da solo reimposta il valore... ma non riesco a capire come mai...

allego la form...

fabrizio

Cteniza Profilo | Guru

Mi sembrava di averti risposto con un esempio pratico che dimostrava che il binding funziona.
Cosa non ti va bene dell'esempio?.
Prova ad aggiornare il datetimepicker e mettere un endcurrentedit subito dopo.

fabricosta Profilo | Newbie

non c'è nulla che non và nella tua risposta.... è che sto usando un portatile di fortuna.... dato che il mio è all'assistenza.... se la sfiga non bastasse...
Purtroppo per me il binding lo gestisco a mano.... per notevoli problemi di incompetenza personale fra gli automatismi di dotnet.... SCUSA ANCORA.... e lo dico pubblicamente...

fabricosta Profilo | Newbie

il databinding funziona ok!, ma non riesco a capire onestamente cosa sbaglio....

Ho una sub che si occupa di fare il fill del mio dataset.

......codice....

miodataadapter.fill(miodataset, "miatabella")

....codice.....


Ho una sub che si occupa del binding

'prima lo pulisco
datetimepicker1.databindings.clear
'poi lo reimposto
datetimepicker.databindings.add(New Binding("Value", miodataset, "miatabella.nomecampo"))

premo il pulsante nuovo che reimposta i valori quindi....
textbox1.text = ""
....
...
datetimepicker1.Value = Today()
...
Inizio a valorizzare il tutto, Scelgo la mia data, e appena premo il Tab per andare sulla textbox successiva cosa ottengo? che la value del mio datetimepicker viene reimpostata sulla base del record sul quale ero posizionato alla pressione del tasto nuovo.

Spero di essermi spiegato bene....
Fabrizio

Cteniza Profilo | Guru

Io fossi in te non toglierei per niente il binding per poi ricrearlo dopo.
Non credo sia una buona tecnica da adottare quando hai altre soluzioni come quella di aggiornare la fonte dati e non i campi a video.

fabricosta Profilo | Newbie

mi dici di generare i commandbuilder? per aggiornare il db dal dataset giusto?
ma per la mia classica grid di elenco dove l'utente clicca sulla riga e si ritrova il dettaglio selezionato nelle textbox e varie?
Scusa la domanda scema ma.....sto impazzendo... per una data... e mi sento abbastanza stupido...
e comunque, quando vado a terminare le mie update/insert/delete, vado a rifare il fill del dataset e il binding, sfruttando la stessa sub, ma non lo faccio certamente durante la pressione del "btnNuovo".

ho messo una messagebox sulla Leave del DateTimePicker, ed i valori fino a quel momento sono quelli nuovi, ma non riesco a capire cosa succeda appena si scatena l'evento Enter su un'altro controllo, visto che la value della mia datetimepicker cambia.

A titolo di info, ho provato a rifare la stessa cosa con vbnet 2003... e funziona correttamente anche come faccio io...

Un'altra cosa che aggiungo è che se converto da 2003 a 2005, il tutto funziona correttamente, anche aggiungendo un'altro datetimepicker. Ma che differenza ci puo' essere?

Altra cosa, se uso access non presenta il problema. se uso mysql si (v 5.0.20)

fabrizio...
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