Ho avuto la stessa situazione e utilizzavo anche i tasti di scelta rapida per il pulsante di salvataggio per il salvataggio dei valori della griglia. Quando faccio clic sul pulsante Salva, il focus viene perso da DGV e quindi il valore della cella viene commesso, ma quando uso i tasti di scelta rapida, l'attenzione non viene persa da DGV, quindi non si commette il valore della cella.
Dopo aver esaminato la risposta di Amit Karmakar per curiosità ho provato quella risposta e ha funzionato. Per scoprire maggiori dettagli sono andato in debugging del DGV e ho scoperto che è davvero la stessa cosa di commitedit che in qualche modo non funziona se lo usi nel pulsante di salvataggio clic.
Quando impostiamo CurrentCell di DGV su null, prima di impostarlo su null DGV ottiene prima il valore modificato e lo inserisce nel valore di cella e quindi imposta CurrentCell REFERENCE su null. Qui non significa che sta impostando la cella DGV sottostante su null. Quindi questo funziona perfettamente per il problema di cui sopra.
Nota: Questa soluzione potrebbe non funzionare perfettamente quando hai la convalida eventi per la cellula e se l'utente inserisce i dati non validi che non superano la convalida. In questo caso anche l'impostazione della cella corrente su null non riesce poiché non può spingere il valore nella cella.
ho dato questa spiegazione come ho sollevato questione su Amit Karmakar risposta chiedendo come può essere possibile. Ho pensato che potesse essere d'aiuto ad altri, quindi ho lasciato cadere questa spiegazione come risposta.
Grazie per la soluzione. –
Contento di aver potuto aiutare. Potresti contrassegnarlo come soluzione accettata? –