/// <summary> /// Handles the state of the GridViewSearchPanel /// </summary> /// <param name="searchPanel">The search panel.</param> /// <param name="persistenceMethod">The persistence method.</param> public static void HandleGridViewSearchPanelState( GridViewSearchPanel searchPanel, PersistenceMethod persistenceMethod ) { HandleGridViewSearchPanelState( searchPanel, null, persistenceMethod, null ); }
/// <summary> /// Handles the state of the GridViewSearchPanel /// </summary> /// <param name="searchPanel">The search panel.</param> /// <param name="gridView">The grid view.</param> /// <param name="persistenceMethod">The persistence method</param> /// <param name="persistentCookieExpiryDateTime">The date and time the persistent cookie expires</param> public static void HandleGridViewSearchPanelState( GridViewSearchPanel searchPanel, GridView gridView, PersistenceMethod persistenceMethod, DateTime? persistentCookieExpiryDateTime ) { if ( gridView == null ) { // try and find the GridView control if it hasn't been explicitly supplied gridView = FindControl( searchPanel.NamingContainer, searchPanel.GridViewControlID ) as GridView; } if ( gridView != null ) { // restore any previously saved state gridView.Page.Load += new EventHandler( delegate( object sender, EventArgs e ) { if ( !gridView.Page.IsPostBack ) { GridViewSearchPanelState controlState = GetGridViewSearchPanelState( GetUniqueGridViewName( gridView ), persistenceMethod ); if ( controlState != null ) { controlState.RestoreState( ref gridView, ref searchPanel ); } } } ); // save state on row command, and rebind searchPanel gridView.RowCommand += new GridViewCommandEventHandler( delegate(object sender, GridViewCommandEventArgs e) { GridViewSearchPanelState controlState = new GridViewSearchPanelState(gridView, searchPanel); SaveGridViewSearchPanelState(controlState, GetUniqueGridViewName(gridView), persistenceMethod, persistentCookieExpiryDateTime); searchPanel.DataBind(); } ); // save state when page index changes gridView.PageIndexChanged += new EventHandler( delegate( object sender, EventArgs e ) { GridViewSearchPanelState controlState = new GridViewSearchPanelState( gridView, searchPanel ); SaveGridViewSearchPanelState( controlState, GetUniqueGridViewName( gridView ), persistenceMethod, persistentCookieExpiryDateTime ); } ); // save state when grid is sorted gridView.Sorted += new EventHandler( delegate( object sender, EventArgs e ) { GridViewSearchPanelState controlState = new GridViewSearchPanelState( gridView, searchPanel ); SaveGridViewSearchPanelState( controlState, GetUniqueGridViewName( gridView ), persistenceMethod, persistentCookieExpiryDateTime ); } ); if (gridView is EntityGridView) { // save state when grid's page size changed ((EntityGridView)gridView).PageSizeChanged += new EventHandler( delegate(object sender, EventArgs e) { GridViewSearchPanelState controlState = new GridViewSearchPanelState(gridView, searchPanel); SaveGridViewSearchPanelState(controlState, GetUniqueGridViewName(gridView), persistenceMethod, persistentCookieExpiryDateTime); } ); } // save state when search id done searchPanel.SearchButtonClicked += new EventHandler( delegate( object sender, EventArgs e ) { GridViewSearchPanelState controlState = new GridViewSearchPanelState( gridView, searchPanel ); SaveGridViewSearchPanelState( controlState, GetUniqueGridViewName( gridView ), persistenceMethod, persistentCookieExpiryDateTime ); } ); // save state when reset is done searchPanel.ResetButtonClicked += new EventHandler( delegate( object sender, EventArgs e ) { GridViewSearchPanelState controlState = new GridViewSearchPanelState( gridView, searchPanel ); SaveGridViewSearchPanelState(controlState, GetUniqueGridViewName(gridView), persistenceMethod, persistentCookieExpiryDateTime); } ); } }
/// <summary> /// Handles the state of the GridViewSearchPanel /// </summary> /// <param name="searchPanel">The search panel.</param> /// <param name="persistentCookieExpiryDateTime">The date and time the persistent cookie expires.</param> public static void HandleGridViewSearchPanelState( GridViewSearchPanel searchPanel, DateTime persistentCookieExpiryDateTime ) { HandleGridViewSearchPanelState( searchPanel, null, PersistenceMethod.PersistentCookie, persistentCookieExpiryDateTime ); }
/// <summary> /// Handles the state of the GridViewSearchPanel /// </summary> /// <param name="searchPanel">The search panel.</param> public static void HandleGridViewSearchPanelState( GridViewSearchPanel searchPanel ) { HandleGridViewSearchPanelState( searchPanel, PersistenceMethod.Session ); }
/// <summary> /// Restores the state of the grid view and grid view search panel. /// </summary> /// <param name="gridView">The grid view.</param> /// <param name="searchPanel">The search panel.</param> public void RestoreState( ref GridView gridView, ref GridViewSearchPanel searchPanel ) { gridView.PageIndex = this.PageIndex; gridView.PageSize = this.PageSize; searchPanel.SearchFieldName = this.SearchFieldName; searchPanel.SearchKeyword = this.SearchKeyword; searchPanel.SearchOperator = this.SearchOperator; searchPanel.Filter = this.Filter; if (!string.IsNullOrEmpty(this.SortExpression)) { gridView.Sort(this.SortExpression, this.SortDirection); } }
/// <summary> /// Saves the state of the grid view and grid view search panel. /// </summary> /// <param name="gridView">The grid view.</param> /// <param name="searchPanel">The search panel.</param> public void SaveState( GridView gridView, GridViewSearchPanel searchPanel ) { // Grid view values this.PageIndex = gridView.PageIndex; this.PageSize = gridView.PageSize; this.SortExpression = gridView.SortExpression; this.SortDirection = gridView.SortDirection; this.SearchFieldName = searchPanel.SearchFieldName; this.SearchOperator = searchPanel.SearchOperator; this.SearchKeyword = searchPanel.SearchKeyword; this.Filter = searchPanel.Filter; searchPanel.DataBind(); }
/// <summary> /// Initializes a new instance of the <see cref="T:GridViewSearchPanelState"/> class. /// </summary> /// <param name="gridView">The grid view.</param> /// <param name="searchPanel">The search panel.</param> public GridViewSearchPanelState( GridView gridView, GridViewSearchPanel searchPanel ) { SaveState( gridView, searchPanel ); }