title: Make new row dirty programmatically and insert a new row after it in DataGridView
body: <p>I've an editable unbounded datagridview. I'm changing the value of new row programmatically. </p>
  
  <p>Normally, when user types in any field of a new row, it becomes dirty and another new row is inserted below it. </p>
  
  <p>But in my case, when user comes in to any field of a new row, I'm trapping the function key and changing the cell value programmatically.</p>
  
  <blockquote>
    <p>myGrid.CurrentCell.Value = "xyz";</p>
  </blockquote>
  
  <p>And it doesn't insert a new row below it. </p>
  
  <p>Now as a work around I tried this on CellValueChanged event handler.</p>
  
  <pre><code>  if (myGrid.NewRowIndex == e.RowIndex)
    {
      myGrid.Rows.Insert(e.RowIndex + 1, 1);
    }
  </code></pre>
  
  <p>But it throws error saying <code>No row can be inserted after the uncommitted new row.</code>.</p>
  
  <p>How could I tell myGrid that I've made current row (which is a new row) dirty and that there is need of a new row after it?</p>