i am using the radgrid inside a multi page view with LINQ and the paging style set to slider. the sorting function for the grid only works on the first and last pages of the results. If i select any other grid page the grid displays no data
ASPX
<telerik:RadTabStrip Skin = "Sunset" MultiPageID="RadMultiPage1" ID="RadTabStrip1" runat="server">
<Tabs>
<telerik:RadTab Text="General">
</telerik:RadTab>
<telerik:RadTab Text="Tools">
</telerik:RadTab>
</Tabs>
</telerik:RadTabStrip>
<telerik:RadMultiPage ID="RadMultiPage1" runat="server">
<telerik:RadPageView ID = "RadPageView1" runat = "server" >
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<table style="width:100%;">
<tr><td>Test 1</td><td> </td><td> </td></tr>
<tr><td colspan="3">
<telerik:RadGrid OnSortCommand="RadGrid1_SortCommand" AllowSorting="True"
AllowPaging = "true" PageSize = "5" AutoGenerateColumns = "False" ID="RadGrid1" runat="server"
Skin="Sunset" Width="275px" onneeddatasource="RadGrid1_NeedDataSource">
<MasterTableView DataKeyNames="customer_id" >
<Columns>
<telerik:GridBoundColumn DataField="customer_id" HeaderText="QA Number" >
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="customer_name" SortExpression = "customer_name" HeaderText="Can Reply" >
</telerik:GridBoundColumn>
</Columns>
</MasterTableView>
<PagerStyle Mode="Slider"></PagerStyle>
</telerik:RadGrid>
</td></tr>
<tr><td> </td><td> </td><td> </td></tr>
</table>
</ContentTemplate>
</asp:UpdatePanel>
</telerik:RadPageView>
<telerik:RadPageView ID="RadPageView2" runat="server">
<table style="width:100%;">
<tr><td>Test 2</td><td> </td><td> </td></tr>
<tr><td> </td><td> </td><td> </td></tr>
<tr><td> </td><td> </td><td> </td></tr>
</table>
</telerik:RadPageView>
</telerik:RadMultiPage>
ASPX.CSprotected void Page_Load(object sender, EventArgs e)
{
List<gen_customer> customers = (from c in db.gen_customers
where c.customer_id < 103
select c).ToList<gen_customer>();
RadGrid1.DataSource = customers;
RadGrid1.DataBind();
}
protected void RadGrid1_SortCommand(object source, Telerik.Web.UI.GridSortCommandEventArgs e)
{
if (!e.Item.OwnerTableView.SortExpressions.ContainsExpression(e.SortExpression))
{
GridSortExpression sortExpr = new GridSortExpression();
sortExpr.FieldName = e.SortExpression;
sortExpr.SortOrder =
GridSortOrder.Ascending;
e.Item.OwnerTableView.SortExpressions.AddSortExpression(sortExpr);
}
}
protected void RadGrid1_NeedDataSource(object source, GridNeedDataSourceEventArgs e)
{
List<gen_customer> customers = (from c in db.gen_customers
where c.customer_id < 103
select c).ToList<gen_customer>();
RadGrid1.DataSource = customers;
}