/// <summary> /// Reperimento contesto di paginazione corrente /// </summary> /// <returns></returns> public PagingContext GetPagingContext() { PagingContext pagingContext = this.ViewState["PagingContext"] as PagingContext; if (pagingContext == null) { pagingContext = new PagingContext(1); pagingContext.PageCount = 1; } return(pagingContext); }
/// <summary> /// Aggiornamento dei controlli di paginazione /// </summary> /// <param name="pagingContext"></param> private void RefreshControls(PagingContext pagingContext) { // Aggiornamento visibilità pulsanti di navigazione semplice, sempre presenti this.RefreshVisibililitySimpleButtons(pagingContext); if (this.PagingMode.Equals(PagingModeEnum.Simple)) { // In modalità semplice, i controlli di paginazione avanzati vengono nascosti this.HideControlsAdvancedMode(); this.ShowPagingDescription(true); // Aggiornamento descrizione di pagina corrente / pagine totali this.RefreshPagingDescription(pagingContext); } else { this.ShowPagingDescription(false); this.RefreshControlsAdvancedMode(pagingContext); } }
/// <summary> /// Azione di spostamento pagina /// </summary> /// <param name="pageNumber"></param> private void PerformPageActionButtonClick(int pageNumber) { PagingContext pagingContext = this.GetPagingContext(); pagingContext.PageNumber = pageNumber; if (this.OnPageChanged != null) { PageChangedEventArgs args = new PageChangedEventArgs(pagingContext); // Invio evento di paginazione this.OnPageChanged(this, args); // aggiornato paging context dagli eventargs pagingContext = args.PagingContext; } // Impostazione oggetto paginazione this.SetPagingContext(pagingContext); // Aggiornamento dei controlli di paginazione this.RefreshControls(pagingContext); }
/// <summary> /// Impostazione contesto di paginazione corrente /// </summary> /// <param name="pagingContext"></param> private void SetPagingContext(PagingContext pagingContext) { this.ViewState["PagingContext"] = pagingContext; }
/// <summary> /// Aggiornamento paginazione /// </summary> /// <param name="parentPageLink"></param> /// <param name="additionalAttributes"></param> /// <param name="pagingContext"></param> public void RefreshPaging(PagingContext pagingContext) { this.SetPagingContext(pagingContext); this.RefreshControls(); }
/// <summary> /// Aggiornamento controlli di paginazione in modalità avanzata /// </summary> /// <param name="pagingContext"></param> private void RefreshControlsAdvancedMode(PagingContext pagingContext) { int restOf = (pagingContext.PageNumber % PAGE_RANGE_NUMBER); int startPage = 0; if (restOf.Equals(0)) { restOf = pagingContext.PageNumber; if (pagingContext.PageNumber != 10) { restOf -= (restOf - PAGE_RANGE_NUMBER); } } startPage = (pagingContext.PageNumber - restOf) + 1; // Visualizzazione pulsante gruppo precedente this.SetVisibilityPagingButton(this.btnPreviousGroup, (startPage > PAGE_RANGE_NUMBER)); if (this.btnPreviousGroup.Visible) { this.btnPreviousGroup.Attributes.Add("title", "Vai a pagina " + (startPage - 1).ToString() + " e precedenti"); } int lastPage = startPage; for (int i = 0; i < 10; i++) { // Pagina corrente int currentPage = (startPage + i); Button btnPageButton = (Button)this.FindControl("btn_" + (i + 1).ToString()); // Visualizzazione pulsante corrente this.SetVisibilityPagingButton(btnPageButton, (currentPage <= pagingContext.PageCount)); if (btnPageButton.Visible) { // Impostazione numero pagina, solamente se visibile btnPageButton.Text = currentPage.ToString(); // Impostazione stili pulsante if (!currentPage.Equals(pagingContext.PageNumber)) { btnPageButton.Attributes.Add("title", "Vai a pagina " + currentPage.ToString()); btnPageButton.Attributes.Remove("class"); } else { //btnPageButton.Attributes.Remove("title"); btnPageButton.Attributes.Add("title", "Pagina corrente"); btnPageButton.Attributes.Add("class", "currentPage"); } } else { btnPageButton.Text = string.Empty; } lastPage = currentPage; } // Visualizzazione pulsante gruppo successivo this.SetVisibilityPagingButton(this.btnNextGroup, (lastPage < pagingContext.PageCount)); if (this.btnNextGroup.Visible) { this.btnNextGroup.Attributes.Add("title", "Vai a pagina " + (lastPage + 1).ToString() + " e successive"); } }
/// <summary> /// Aggiornamento descrizione pagina corrente / pagina totale /// </summary> /// <param name="pagingContext"></param> private void RefreshPagingDescription(PagingContext pagingContext) { string pagingDescription = "pagina " + pagingContext.PageNumber.ToString() + " di " + pagingContext.PageCount.ToString(); this.lblPagingDescription.Text = pagingDescription; }
/// <summary> /// Aggiornamento visibilità pulsanti di navigazione semplice /// </summary> /// <param name="pagingContext"></param> private void RefreshVisibililitySimpleButtons(PagingContext pagingContext) { this.SetVisibilityPagingButton(this.btnMovePrevious, (pagingContext.PageNumber > 1)); this.SetVisibilityPagingButton(this.btnMoveNext, (pagingContext.PageNumber < pagingContext.PageCount)); }
/// <summary> /// Aggiornamento dei controlli di paginazione /// </summary> private void RefreshControls() { PagingContext pagingContext = this.GetPagingContext(); this.RefreshControls(pagingContext); }
public PageChangedEventArgs(PagingContext pagingContext) { this._pagingContext = pagingContext; }