コード例 #1
0
ファイル: Paginator.cs プロジェクト: JPG-Consulting/Bilbao
        /// <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);
            }
        }
コード例 #2
0
ファイル: Paginator.cs プロジェクト: JPG-Consulting/Bilbao
        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;
            }
        }