is this what u want?
i have used the ViewState object to do it...
<%@ debug="true" enableviewstate="true"%>
<script runat="server">
Dim TheList as new ArrayList
sub page_load
dim i as integer
for i=1 to 6
TheList.Add(i)
next
if not ispostback then
TheGrid.DataSource=TheList
TheGrid.DataBind
ViewState("TheList")=TheList
end if
end sub
sub ChangePage(s as object, e as DataGridPageChangedEventArgs)
TheList=ViewState("TheList")
TheGrid.CurrentPageIndex = e.NewPageIndex
TheGrid.DataSource=TheList
TheGrid.DataBind
end sub
sub AddMe(sender As Object, e As System.EventArgs)
Dim OldList as ArrayList=ViewState("TheList")
OldList.Add(OldList.count+1)
dim TheNewPage as integer=TheGrid.CurrentPageIndex+1
if(OldList.count > TheGrid.PageCount * TheGrid.PageSize) then
TheGrid.CurrentPageIndex=TheNewPage
end if
TheGrid.DataSource=OldList
TheGrid.DataBind
ViewState("TheList")=OldList
end sub
</script>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<form runat="server">
<asp

ataGrid id="TheGrid" runat="server" AllowPaging="true" PageSize="5" OnPageIndexChanged="ChangePage" EnableViewState="true">
</asp

ataGrid>
<input type="submit" value="Add" runat="server" onserverclick="AddMe">
</form>
</body>
</html>
Known is handfull, Unknown is worldfull