|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Mar 2010
Messaggi: 53
|
[C#] editing di una cella in una datagridview
Ciao,
ho un problema probabilmente molto banale ma che non riesco a risolvere: ho una datagridview con una colonna di tipo checkbox. Le celle di questa colonna dovrebbero essere modificate ed automaticamente la modifica deve rifletteresi sul database al quale la datagridview tramite dataset è connessa. Il problema è la validazione della modifica di una cella sembra che venga fatto solo quando si cambia la colonna, invece cliccando sulla cella e controllandone il valore esso non viene modificato. Come si può evitare questo meccanismo contorto ? Io clicco sulla cella e viene modificata immediatamente. grazie |
![]() |
![]() |
![]() |
#2 |
Member
Iscritto dal: Mar 2010
Messaggi: 53
|
nessuno?
|
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Aug 2001
Messaggi: 1049
|
Scusami ma non capisco bene cosa intendi.
La validazione della cella avviene durante il lostfocus quindi è normale che la modifica venga persistita quando cambi cella. non capisco che problema ti dia. Però forse non riesco a capire la tua domanda |
![]() |
![]() |
![]() |
#4 |
Member
Iscritto dal: Mar 2010
Messaggi: 53
|
Se effettivamente la validazione avviene sul lostfocus come si può validare il valore di una cella di una datagridview con una sola riga dato che non posso spostare il cursore in altre righe ? L'unica azione che posso fare è chiudere il fomr dovre è cotenuta la datagridview, ma così non mi salva il valore.
|
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Aug 2001
Messaggi: 1049
|
non serve avere altre righe basta spostarsi di cella per effettuare la validazione di quella cella.
ad ogni modo purtroppo non ho tempo di analizzarti la cosa perciò ti consiglio di agganciarti agli aventi di cellvalidating e di cellendedit della tua griglia. Poi ti metti in debug su quegli eventi in modo da vedere esattamente quando effettua la validazione e come si comporta in modo da capire come comportarti. dataGridView1.CellValidating += new DataGridViewCellValidatingEventHandler(dataGridView1_CellValidating); dataGridView1.CellEndEdit += new DataGridViewCellEventHandler(dataGridView1_CellEndEdit); |
![]() |
![]() |
![]() |
#6 |
Member
Iscritto dal: Mar 2010
Messaggi: 53
|
Ok, grazie, comunque ho risolto. Nel mio caso ho catturato l'evento modifica della cella con la checkbox, in questo modo la modifica può avvenire senza aspettare la validazione che avviene cambiando cella.
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 01:50.