Tengo una vista editable de datos editable sin límites. Estoy cambiando el valor de la nueva fila programáticamente.Hacer una nueva fila sucia mediante programación e insertar una nueva fila después en DataGridView
Normalmente, cuando el usuario escribe en cualquier campo de una nueva fila, se ensucia y se inserta otra fila debajo.
Pero en mi caso, cuando el usuario entra en cualquier campo de una nueva fila, estoy atrapando la tecla de función y cambiando el valor de la celda mediante programación.
myGrid.CurrentCell.Value = "xyz";
Y no inserta una nueva fila debajo de ella.
Ahora como solución probé esto en el controlador de eventos CellValueChanged.
if (myGrid.NewRowIndex == e.RowIndex)
{
myGrid.Rows.Insert(e.RowIndex + 1, 1);
}
Pero lanza error diciendo No row can be inserted after the uncommitted new row.
.
¿Cómo podría decirle a myGrid que he hecho que la fila actual (que es una nueva fila) esté sucia y que haya una nueva fila después?
He votado a favor de esto, pero con más pruebas descubrí que necesitaba TAMBIÉN NotifyCurrentCellDirty (False) como lo sugirió @Haider – isedwards