Torne a nova linha suja programaticamente e insira uma nova linha após ela no DataGridView

Eu tenho um datagridview editável e ilimitado. Estou alterando o valor da nova linha programaticamente.

Normalmente, quando o usuário digita em qualquer campo de uma nova linha, ele fica sujo e outra nova linha é inserida abaixo dele.

Mas no meu caso, quando o usuário entra em qualquer campo de uma nova linha, estou interceptando a tecla de função e alterando o valor da célula programaticamente.

myGrid.CurrentCell.Value = "xyz";

E não insere uma nova linha abaixo dela.

Agora, como solução alternativa, tentei isso no manipulador de eventos CellValueChanged.

  if (myGrid.NewRowIndex == e.RowIndex)
  {
    myGrid.Rows.Insert(e.RowIndex + 1, 1);
  }

Mas lança erro dizendoNo row can be inserted after the uncommitted new row..

Como eu poderia dizer ao myGrid que deixei a linha atual (que é uma nova) suja e que há necessidade de uma nova linha após ela?

questionAnswers(4)

yourAnswerToTheQuestion