I know it's too late, still this might help..
You want something like this?!
Private Sub ReplaceRowAt(ByVal index As Integer, ByVal replaceWith As DataGridViewRow, ByRef dgv As DataGridView)
dgv.Rows.RemoveAt(index)
dgv.Rows.Insert(index, replaceWith)
End Sub