/// <summary> /// Genera el evento <see cref="PageChanged"/>. /// </summary> /// <param name="e"> /// Objeto <see cref="PageChangedEventArgs"/> que contiene los datos del evento. /// </param> protected void OnPageChanged(PageChangedEventArgs e) { EventHandler <PageChangedEventArgs> handler = PageChanged; if (handler != null) { handler(this, e); } }
protected virtual void RaisePostBackEvent(string eventArgument) { int pageNumber; #if NET35 if ((eventArgument == null) || (eventArgument.Trim().Length == 0) || (!int.TryParse(eventArgument, out pageNumber))) #else if ((string.IsNullOrWhiteSpace(eventArgument)) || (!int.TryParse(eventArgument, out pageNumber))) #endif { throw new ArgumentException("eventArgument"); } // If the current page has not changed, there is nothing to do. if (pageNumber == _currentPageNumber) { return; } // Create the event arguments. PageChangedEventArgs eventArgs = new PageChangedEventArgs(pageNumber, _totalRowCount); // Raise event. OnPageChanged(eventArgs); // Ha cambiado el numero de registros? if (eventArgs.TotalRowCount != this.TotalRowCount) { _totalRowCount = eventArgs.TotalRowCount; } // Establecer la página actual. if (_currentPageNumber != eventArgs.CurrentPageNumber) { _currentPageNumber = eventArgs.CurrentPageNumber; } // Calculamos el número de páginas _totalPageCount = (int)Math.Ceiling(_totalRowCount / (double)_pageSize); if (_currentPageNumber > _totalPageCount) { _currentPageNumber = _totalPageCount; } else if (_currentPageNumber < 1) { _currentPageNumber = 1; } }