Hi,
Here is my test case, I don't see any problems. Can you modify this example to reproduce the problems which you described?
<%@ Page Language="C#" %>
<%@ Import Namespace="System.Xml"%>
<%@ Register Assembly="Coolite.Ext.Web" Namespace="Coolite.Ext.Web" TagPrefix="ext" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
private object[] TestData
{
get
{
DateTime now = DateTime.Now;
object[] data = new object[400];
for (int i = 0; i < 400; i++)
{
data[i] = new object[] {i+1, now};
}
return data;
}
}
protected void Page_Load(object sender, EventArgs e)
{
if(!Ext.IsAjaxRequest)
{
this.Store1.DataSource = this.TestData;
this.Store1.DataBind();
}
}
protected void MyData_Refresh(object sender, StoreRefreshDataEventArgs e)
{
this.Store1.DataSource = this.TestData;
this.Store1.DataBind();
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<ext:ScriptManager ID="ScriptManager1" runat="server" />
<ext:Store
ID="Store1"
runat="server"
OnRefreshData="MyData_Refresh" >
<Reader>
<ext:ArrayReader ReaderID="index">
<Fields>
<ext:RecordField Name="index" />
<ext:RecordField Name="lastChange" Type="Date" DateFormat="Y-m-dTh:i:s" />
</Fields>
</ext:ArrayReader>
</Reader>
</ext:Store>
<ext:GridPanel ID="GridPanel1"
runat="server"
StoreID="Store1"
StripeRows="true"
Title="Array Grid"
Width="600"
Height="300"
AutoExpandColumn="LastChange">
<ColumnModel ID="ColumnModel1" runat="server">
<Columns>
<ext:Column ColumnID="Index" Header="Index" Width="50" Sortable="true" DataIndex="index"/>
<ext:Column ColumnID="LastChange" Header="Last Updated" Width="85" Sortable="true" DataIndex="lastChange">
<Renderer Fn="Ext.util.Format.dateRenderer('G:i:s')" />
</ext:Column>
</Columns>
</ColumnModel>
<SelectionModel>
<ext:RowSelectionModel runat="server" />
</SelectionModel>
<LoadMask ShowMask="true" />
<BottomBar>
<ext:PagingToolBar runat="server" PageSize="20" />
</BottomBar>
<TopBar>
<ext:Toolbar ID="Toolbar1" runat="server">
<Items>
<ext:Button ID="Button1" runat="server" Text="Get Selection From Current Page">
<Listeners>
<Click Handler="alert(Ext.encode(#{GridPanel1}.getRowsValues(true, false, false, true)))" />
</Listeners>
</ext:Button>
<ext:Button ID="Button2" runat="server" Text="Get Selection From All Pages">
<Listeners>
<Click Handler="alert(Ext.encode(#{GridPanel1}.getRowsValues(true)))" />
</Listeners>
</ext:Button>
</Items>
</ext:Toolbar>
</TopBar>
</ext:GridPanel>
</form>
</body>
</html>
If you don't need restore selection after grid's pages navigation and don't need 'Get Selection From All Pages' then set SelectionMemory="Disabled" for GridPanel