Here is an example with remote paging.
View
<%@ Page Language="C#" %>
<%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Ext.NET Example</title>
</head>
<body>
<ext:ResourceManager runat="server" />
<ext:GridPanel runat="server" AutoHeight="true">
<Store>
<ext:Store runat="server">
<Proxy>
<ext:HttpProxy Url="/Test/GetData" />
</Proxy>
<Reader>
<ext:JsonReader Root="data">
<Fields>
<ext:RecordField Name="test" />
</Fields>
</ext:JsonReader>
</Reader>
<BaseParams>
<ext:Parameter Name="start" Value="0" Mode="Raw" />
<ext:Parameter Name="limit" Value="3" Mode="Raw" />
</BaseParams>
</ext:Store>
</Store>
<ColumnModel runat="server">
<Columns>
<ext:Column Header="Test" DataIndex="test" />
</Columns>
</ColumnModel>
<BottomBar>
<ext:PagingToolbar runat="server" PageSize="3" />
</BottomBar>
</ext:GridPanel>
</body>
</html>
Controller
public class TestController : Controller
{
public List<object> MyData = new List<object>
{
new { test = "test1" },
new { test = "test2" },
new { test = "test3" },
new { test = "test4" },
new { test = "test5" },
new { test = "test6" },
new { test = "test7" },
new { test = "test8" },
new { test = "test9" }
};
public ActionResult Test()
{
return View();
}
public AjaxStoreResult GetData()
{
int start = int.Parse(this.Request["start"]);
int limit = int.Parse(this.Request["limit"]);
List<object> data = this.MyData;
if ((start + limit) > data.Count)
{
limit = data.Count - start;
}
List<object> rangeData = (start < 0 || limit < 0) ? data : data.GetRange(start, limit);
return new AjaxStoreResult(rangeData, this.MyData.Count);
}
}
Here is an example with local paging.
View
<%@ Page Language="C#" %>
<%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Ext.NET Example</title>
</head>
<body>
<ext:ResourceManager runat="server" />
<ext:GridPanel runat="server" AutoHeight="true">
<Store>
<ext:Store runat="server" RemotePaging="false">
<Proxy>
<ext:HttpProxy Url="/Test/GetData" />
</Proxy>
<Reader>
<ext:JsonReader Root="data">
<Fields>
<ext:RecordField Name="test" />
</Fields>
</ext:JsonReader>
</Reader>
<BaseParams>
<ext:Parameter Name="start" Value="0" Mode="Raw" />
<ext:Parameter Name="limit" Value="3" Mode="Raw" />
</BaseParams>
</ext:Store>
</Store>
<ColumnModel runat="server">
<Columns>
<ext:Column Header="Test" DataIndex="test" />
</Columns>
</ColumnModel>
<BottomBar>
<ext:PagingToolbar runat="server" PageSize="3" />
</BottomBar>
</ext:GridPanel>
</body>
</html>
Controller
public class TestController : Controller
{
public List<object> MyData = new List<object>
{
new { test = "test1" },
new { test = "test2" },
new { test = "test3" },
new { test = "test4" },
new { test = "test5" },
new { test = "test6" },
new { test = "test7" },
new { test = "test8" },
new { test = "test9" }
};
public ActionResult Test()
{
return View();
}
public AjaxStoreResult GetData()
{
return new AjaxStoreResult(this.MyData);
}
}