Write your code in DetailsView PreRender event instead of DataBound event as follows and it will work.
Protected Sub DetailsView1_PreRender(ByVal sender As Object, ByVal e As System.EventArgs) Handles DetailsView1.PreRender
If DetailsView1.Rows.Count = 0 Then
'DetailsView1.DefaultMode = DetailsViewMode.Insert
DetailsView1.ChangeMode(DetailsViewMode.Insert)
DetailsView1.AutoGenerateInsertButton = True
Else
'DetailsView1.DefaultMode = DetailsViewMode.ReadOnly
DetailsView1.AutoGenerateInsertButton = False
End If
End Sub
Protected Sub DetailsView1_PreRender(ByVal sender As Object, ByVal e As System.EventArgs) Handles DetailsView1.PreRender
If DetailsView1.Rows.Count = 0 Then
'DetailsView1.DefaultMode = DetailsViewMode.Insert
DetailsView1.ChangeMode(DetailsViewMode.Insert)
DetailsView1.AutoGenerateInsertButton = True
Else
'DetailsView1.DefaultMode = DetailsViewMode.ReadOnly
DetailsView1.AutoGenerateInsertButton = False
End If
End Sub
Hope it will help.
If my post solves your problem, please mark it as an answer.