questo lo sapevo, ma ci deve essere un errore nel codice, dopo aver inserito il nuovo record setto il VirtualItemCount a 0 poi imposto a true una variabile booleana (blnInserisci), quindi chiamo questa sub:
sub binddata(Optional EditIndex as integer = -1)
Dim DS As DataSet
Dim MyCommand As OleDbDataAdapter
dim quanti as integer
con.Open()
response.write (MyDataGrid.VirtualItemCount)
if MyDataGrid.VirtualItemCount =0 then
Dim myCommand2 As New OleDbCommand("select count(*) from Users", con)
quanti=mycommand2.executeScalar() MyDataGrid.VirtualItemCount = quanti
else
quanti=MyDataGrid.VirtualItemCount
end if
MyCommand = New OleDbDataAdapter("select * from Users order by UserId", con)
DS = new DataSet()
'************************************************* **********
'************************************************* **********
'PAGINAZIONE MANUALE
MyCommand.Fill(ds,(viewstate("start_index")*3),3, "Users")
'************************************************* **********
'************************************************* **********
dim source as dataview=ds.Tables("Users").DefaultView
MyDataGrid.DataSource=source
if EditIndex <> (-1)
MyDataGrid.EditItemIndex = viewstate("riga")
else
MyDataGrid.EditItemIndex = -1
end if
MyDataGrid.DataBind()
con.close()
if blnInserisci then
MyDataGrid.CurrentPageIndex=MyDataGrid.PageCount - 1
viewstate("start_index")=MyDataGrid.PageCount - 1
blnInserisci = false
end if
lblMessage.Text = "Pagina " & MyDataGrid.CurrentPageIndex+1 & _
" di " & MyDataGrid.PageCount & _
". Record presenti=" & quanti
End Sub