Я сейчас в веб-разработке. Так что не можете проверить ваше решение. :( Будем ждать, пока кто-нибудь ответит, прежде чем я смогу отметить ваш ответ.

я есть редактируемое неограниченное представление данных. Я изменяю значение новой строки программно.

Обычно, когда пользователь вводит любое поле новой строки, оно становится грязным, и под ним вставляется еще одна новая строка.

Но в моем случае, когда пользователь входит в любое поле новой строки, я перехватываю функциональную клавишу и изменяю значение ячейки программно.

myGrid.CurrentCell.Value = "xyz";

И он не вставляет новую строку под ним.

Теперь в качестве обходного пути я попробовал это на обработчике событий CellValueChanged.

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

Но это выдает ошибку говоряNo row can be inserted after the uncommitted new row..

Как я могу сказать myGrid, что я сделал текущую строку (которая является новой строкой) грязной и что после нее нужна новая строка?

Ответы на вопрос(2)

Ваш ответ на вопрос