zoukankan      html  css  js  c++  java
  • Pagination

    using System.Collections.Generic;
    
    namespace Oyang.Tool
    {
        public interface IPagination
        {
            int PageIndex { get; set; }
            int PageSize { get; set; }
            int TotalCount { get; set; }
            string SortField { get; set; }
            bool IsAsc { get; set; }
        }
    
        public interface IFullPagination : IPagination
        {
            int PageCount { get; }
            int ButtonCount { get; set; }
            List<int> ListPageButton { get; }
            List<int> CalcPageButton();
        }
    
        public class Pagination : IPagination
        {
            public int PageIndex { get; set; }
            public int PageSize { get; set; }
            public int TotalCount { get; set; }
            public string SortField { get; set; }
            public bool IsAsc { get; set; }
        }
    
        public class FullPagination : Pagination, IFullPagination
        {
            public int PageCount
            {
                get { return TotalCount % PageSize == 0 ? TotalCount / PageSize : TotalCount / PageSize + 1; }
            }
            public int ButtonCount { get; set; } = 5;
    
            List<int> _listPageButton = null;
            public List<int> ListPageButton { get; }
    
            public List<int> CalcPageButton()
            {
                _listPageButton = new List<int>();
                int temp1 = (ButtonCount - 1) / 2;
                int temp2 = ButtonCount - 1 - temp1;
                int startPageIndex = 1;
                int endPageIndex = 1;
                if (PageCount <= ButtonCount)
                {
                    startPageIndex = 1;
                    endPageIndex = PageCount;
                }
                else if (PageIndex <= temp1)
                {
                    startPageIndex = 1;
                    endPageIndex = startPageIndex + ButtonCount - 1;
                }
                else if (PageIndex + temp2 > PageCount)
                {
                    endPageIndex = PageCount;
                    startPageIndex = endPageIndex - ButtonCount + 1;
                }
                else
                {
                    startPageIndex = PageIndex - temp1;
                    endPageIndex = PageIndex + temp2;
                }
    
                for (int i = startPageIndex; i <= endPageIndex; i++)
                {
                    _listPageButton.Add(i);
                }
                return _listPageButton;
            }
        }
    
    }
  • 相关阅读:
    移动端轮播图
    移动端的注册页面
    点击显示或者消失的效果(手风琴效果)
    canvas的一些简单绘制方法
    用canvas来手动绘画
    canvas标签的运用
    Html5新标签解释及用法
    最近的心得
    浅谈正则表达式
    P3197 [HNOI2008]越狱
  • 原文地址:https://www.cnblogs.com/oyang168/p/9952222.html
Copyright © 2011-2022 走看看