i have a radgrid which users the radfilter to filter the datasource, filter works fine but if the first page says 2 pages and i click to go to page 2 it reloads into it inital first load state with all the data. any ideas
here is my code
here is my code
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="ProductSearch.ascx.cs" Inherits="Controls_ProductSearch" %><telerik:RadAjaxManager ID="RadAjaxManager1" runat="server" ><AjaxSettings> <telerik:AjaxSetting AjaxControlID="RadGridProductsSearch"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="RadGridProductsSearch" LoadingPanelID="RadAjaxLoadingPanel1"></telerik:AjaxUpdatedControl> </UpdatedControls> </telerik:AjaxSetting> <telerik:AjaxSetting AjaxControlID="BtnProductSearch"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="RadGridProductsSearch" LoadingPanelID="RadAjaxLoadingPanel1"></telerik:AjaxUpdatedControl> </UpdatedControls> </telerik:AjaxSetting> </AjaxSettings> </telerik:RadAjaxManager><telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" Transparency="20" BackColor="#ffffff" runat="server"> <asp:Image ID="Image1" runat="server" AlternateText="Loading..." BorderWidth="0px" ImageUrl="~/Includes/images/ajax/Loading.gif" /></telerik:RadAjaxLoadingPanel> <fieldset><ol> <li> <asp:Label ID="LblCategory" runat="server" Text="Search by Category" AssociatedControlID="ComboCategoryName"></asp:Label> <telerik:RadComboBox ID="ComboCategoryName" runat="server" Width="240"></telerik:RadComboBox> </li> <li class="small"> <span> or </span> </li> <li> <asp:Label ID="LblKeywords" runat="server" Text="by Keyword" AssociatedControlID="ComboKeyword"></asp:Label> <telerik:RadComboBox ID="ComboKeyword" runat="server" Width="240" Filter="Contains" MarkFirstMatch="true" ChangeTextOnKeyBoardNavigation="false"></telerik:RadComboBox> </li> <li class="submit"> <telerik:RadButton ID="BtnProductSearch" OnClick="BtnProductSearch_Click" runat="server" Text="Submit"></telerik:RadButton> </li></ol> <telerik:RadFilter ID="SearchRadFilter" runat="server" Visible="false" ShowApplyButton="true" ExpressionPreviewPosition="None" ShowLineImages="true" FilterContainerID="RadGridProductsSearch"></telerik:RadFilter> </fieldset> <telerik:RadGrid ID="RadGridProductsSearch" runat="server" SkinID="products" AllowPaging="true" PagerStyle-AlwaysVisible="true" BorderWidth="0" OnNeedDataSource="ProductsSearch_NeedDataSource" OnItemDataBound="ProductsSearch_ItemDataBound" OnItemCreated="ProductsSearch_ItemCreated" AllowSorting="true" AllowFilteringByColumn="true"><GroupingSettings CaseSensitive="false"/><MasterTableView AutoGenerateColumns="false" IsFilterItemExpanded="False"><PagerTemplate> <asp:Panel ID="PagerPanel" runat="server" CssClass="pager-holder"> <div class="pager"> <span class="pagerPrev"> <asp:LinkButton ID="ButtonPrev" runat="server" OnClientClick="changePage('prev'); return false;" CommandName="Page" CommandArgument="Prev" Text="<" CssClass="PagerButton PrevPage" /> </span> <asp:Panel runat="server" ID="NumericPagerPlaceHolder" CssClass="pagerNumber" /> <span class="pagerNext"> <asp:LinkButton ID="ButtonNext" runat="server" OnClientClick="changePage('next'); return false;" CommandName="Page" CommandArgument="Next" Text=">" CssClass="PagerButton NextPage" /> </span> </div> <span class="pagerSize"> <span>View</span> <telerik:RadComboBox ID="RadComboBox1" DataSource="<%# new object[]{10, 20, 30, 40, 50} %>" SelectedValue='<%# DataBinder.Eval(Container, "Paging.PageSize") %>' runat="server" Width="60" OnClientSelectedIndexChanged="RadComboBox1_SelectedIndexChanged"></telerik:RadComboBox> </span> </asp:Panel></PagerTemplate> <PagerStyle Mode="NumericPages" PageButtonCount="10" /> <Columns> <telerik:GridTemplateColumn HeaderText="Product Name" DataField="Name" SortExpression="Name" UniqueName="Name"> <ItemTemplate> <asp:HyperLink ID="ProductLink" runat="server" NavigateUrl='<%# Functions.GetUrl(DataBinder.Eval(Container, "DataItem.NodeAliasPath")) %>' Text='<%# Eval("Name") %>'></asp:HyperLink> </ItemTemplate> </telerik:GridTemplateColumn> <telerik:GridTemplateColumn HeaderText="NodeParentID" Visible="false" UniqueName="NodeParentID" DataField="NodeParentID"> <ItemTemplate> <asp:Label ID="NodeParentID" runat="server"></asp:Label> </ItemTemplate> </telerik:GridTemplateColumn> </Columns> </MasterTableView> </telerik:RadGrid> <telerik:RadCodeBlock ID="RadCodeBlock1" runat="server"><script type="text/javascript">var tableView = null;function pageLoad(sender, args) { tableView = $find("<%= RadGridProductsSearch.ClientID %>").get_masterTableView();}function RadComboBox1_SelectedIndexChanged(sender, args) { tableView.set_pageSize(sender.get_value());}function changePage(argument) { tableView.page(argument);}function RadNumericTextBox1_ValueChanged(sender, args) { tableView.page(sender.get_value());}</script></telerik:RadCodeBlock>using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;using System.Data;using CMS.CMSHelper;using CMS.GlobalHelper;using Telerik.Web.UI;public partial class Controls_ProductSearch : System.Web.UI.UserControl{ protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { LoadCategories(); LoadProducts(); } } void LoadCategories() { DataSet ds = TreeHelper.SelectNodes(CMSContext.CurrentAliasPath + "/%", false, "adam.productCategory", null, "Name Asc", -1, true); if (!DataHelper.DataSourceIsEmpty(ds)) { ComboCategoryName.DataSource = ds; ComboCategoryName.DataTextField = "Name"; ComboCategoryName.DataValueField = "NodeID"; ComboCategoryName.DataBind(); ComboCategoryName.Items.Insert(0, new RadComboBoxItem("Select Category")); } } void LoadProducts() { DataSet ds = TreeHelper.SelectNodes(CMSContext.CurrentAliasPath + "/%", false, "adam.product", null, "Name Asc", -1, true); if (!DataHelper.DataSourceIsEmpty(ds)) { ComboKeyword.DataSource = ds; ComboKeyword.DataTextField = "Name"; ComboKeyword.DataValueField = "Name"; ComboKeyword.DataBind(); ComboKeyword.Items.Insert(0, new RadComboBoxItem("Select Category")); } } protected void ProductsSearch_ItemDataBound(object sender, Telerik.Web.UI.GridItemEventArgs e) { if (e.Item is GridDataItem) { DataRowView dr = (DataRowView)e.Item.DataItem; GridDataItem item = (GridDataItem)e.Item; Label nodeParentID = item.FindControl("NodeParentID") as Label; CMS.TreeEngine.TreeNode node = TreeHelper.SelectSingleNode((int)DataHelper.GetDataRowViewValue(dr, "NodeParentId")); if (node != null) { nodeParentID.Text = node.DocumentName; } } } protected void ProductsSearch_NeedDataSource(object source, GridNeedDataSourceEventArgs e) { DataSet ds = TreeHelper.SelectNodes(CMSContext.CurrentAliasPath + "/%", false, "adam.product", null, "Name Asc", -1, true); if (!DataHelper.DataSourceIsEmpty(ds)) { RadGridProductsSearch.DataSource = ds; } else { RadGridProductsSearch.Visible = false; } } protected void ProductsSearch_ItemCreated(object sender, Telerik.Web.UI.GridItemEventArgs e) { if (e.Item is GridPagerItem) { GridPagerItem gridPager = e.Item as GridPagerItem; Control numericPagerControl = gridPager.GetNumericPager(); numericPagerControl.ID = ""; Control placeHolder = gridPager.FindControl("NumericPagerPlaceHolder"); placeHolder.Controls.Add(numericPagerControl); } } protected void BtnProductSearch_Click(object sender, EventArgs e) { SearchRadFilter.RootGroup.Expressions.Clear(); if (ComboCategoryName.SelectedIndex != 0) { RadFilterGroupExpression category = new RadFilterGroupExpression(); category.GroupOperation = RadFilterGroupOperation.And; RadFilterEqualToFilterExpression<int> expr = new RadFilterEqualToFilterExpression<int>("NodeParentID"); expr.Value = Convert.ToInt32(ComboCategoryName.SelectedValue); SearchRadFilter.RootGroup.AddExpression(category); category.AddExpression(expr); } if (ComboKeyword.SelectedIndex != 0) { RadFilterGroupExpression product = new RadFilterGroupExpression(); product.GroupOperation = RadFilterGroupOperation.And; RadFilterEqualToFilterExpression<string> expr2 = new RadFilterEqualToFilterExpression<string>("Name"); expr2.Value = ComboKeyword.SelectedValue; SearchRadFilter.RootGroup.AddExpression(product); product.AddExpression(expr2); } SearchRadFilter.FireApplyCommand(); }}