private async Task OnPageSizeChanged(ChangeEventArgs args)
 {
     if (args.Value != null)
     {
         await PageSizeChanged.InvokeAsync(Convert.ToInt32(args.Value));
     }
 }
        ////////////////////////////////////////////////////////////////////////////

        ////////////////////////////////////////////////////////////////////////////
        protected virtual void OnPageSizeChanged(EventArgs e)
        {
            if (PageSizeChanged != null)
            {
                PageSizeChanged.Invoke(this, e);
            }
        }
        /// <summary>
        /// 变更每页的呈现的数据,并触发 <see cref="PageSizeChanged"/> 事件。
        /// </summary>
        /// <param name="size">每页呈现的数据。</param>
        public async Task ChangePageSize(int size)
        {
            await NavigateToFirst();

            PageSize = size;
            await PageSizeChanged.InvokeAsync(size);
        }
示例#4
0
 /// <summary>
 /// Sets the current page size to the specified value asynchronously.
 /// </summary>
 /// <param name="pageSize">The size of the page to set.</param>
 /// <returns>A task for this function.</returns>
 protected virtual async Task SetPageSize(int pageSize)
 {
     if (pageSize < 1)
     {
         return;
     }
     if (pageSize != PageSize)
     {
         PageSize = pageSize;
         await PageSizeChanged.InvokeAsync(PageSize);
     }
 }
        private void cmbPageSize_SelectedIndexChanged(object sender, EventArgs e)
        {
            int p;

            if (!int.TryParse(cmbPageSize.Text, out p))
            {
                return;
            }

            PageSize = p;
            PageSizeChanged.Raise(this);
        }
示例#6
0
        /// <summary>
        /// 切换每页行数
        /// </summary>
        private void PageRowsChanged()
        {
            var handel = FocusedRowHandle;
            var change = _PageSize < _Rows - _PageSize * _Current;

            _PageSize = int.Parse(cbeRows.Text);
            PageSizeChanged?.Invoke(this, new PageSizeEventArgs(_PageSize));

            var page = _Current;

            Refresh();

            change = change || _PageSize < _Rows - _PageSize * _Current;
            if (!change && _Current == page && FocusedRowHandle == handel)
            {
                return;
            }

            // 切换了页码或当前页显示行数变化后需要重新加载数据
            CurrentPageChanged?.Invoke(this, new PageControlEventArgs(FocusedRowHandle));
        }
        /// <summary>
        /// Called when page size changed.
        /// </summary>
        /// <param name="value">The value.</param>
        protected async Task OnPageSizeChanged(object value)
        {
            bool isFirstPage = CurrentPage == 0;
            bool isLastPage  = CurrentPage == numberOfPages - 1;
            int  prevSkip    = skip;

            PageSize = (int)value;
            await InvokeAsync(Reload);

            await PageSizeChanged.InvokeAsync((int)value);

            if (isLastPage)
            {
                await LastPage();
            }
            else if (!isFirstPage)
            {
                int newPage = (int)Math.Floor((decimal)(prevSkip / (PageSize > 0 ? PageSize : 10)));
                await GoToPage(newPage, true);
            }
        }
示例#8
0
 private void HandlePageSizeChange(PaginationEventArgs args)
 {
     PageSizeChanged.InvokeAsync(args.PageSize);
     OnPageSizeChange.InvokeAsync(args);
 }
示例#9
0
        public async Task PagerSize_OnChange(int pageSize)
        {
            PagingData.PageSize = pageSize;

            await PageSizeChanged.InvokeAsync(null);
        }
 protected void OnPageSizeChanged()
 {
     PageSizeChanged?.Invoke(this, EventArgs.Empty);
 }
示例#11
0
 protected void PagerPageSizeChanged(int value)
 {
     PageSizeChanged?.Invoke(value);
 }