Tuve la misma situación e incluso estaba usando las teclas del acelerador para guardar el botón para guardar los valores de la cuadrícula. Cuando hago clic en el botón Guardar, pierdo el foco de DGV y, por lo tanto, el valor de la celda se confirma, pero cuando uso las teclas del acelerador, el foco no se pierde de DGV, por lo tanto, no se compromete el valor de la celda.
Después de mirar la respuesta de Amit Karmakar, intenté con esa respuesta y funcionó. Para conocer más detalles, me puse a depurar el DGV y descubrí que realmente es lo mismo que commitedit, que de alguna manera no funciona si lo usas en el botón Guardar.
Cuando establecemos CurrentCell of DGV en nulo, antes de establecerlo en nulo DGV obtiene primero el valor editado y lo introduce en el valor de celda y luego establece CurrentCell REFERENCE en nulo. Aquí no significa que está estableciendo la celda DGV subyacente como nula. Por lo tanto, esto funciona perfectamente para el problema anterior.
Nota: Esta solución puede no funcionar perfectamente cuando tiene eventos de validación para la celda y si el usuario ingresa datos no válidos que no validarán. En este caso, la configuración de la celda actual como nulo también falla, ya que no puede enviar el valor a la celda.
Di esta explicación ya que he planteado la pregunta sobre la respuesta de Amit Karmakar preguntando cómo puede ser posible. Pensé que podría ayudar a otros, así que dejé esta explicación como respuesta.
Gracias por la solución. –
Me alegro de poder ayudar. ¿Podría marcar esto como su solución aceptada? –