首页 > 其他 > 详细

分页类

时间:2017-12-19 00:06:43      阅读:263      评论:0      收藏:0      [点我收藏+]
/// <summary>
    /// 分页列表类
    /// </summary>
    public class PagedList<T>
    {
        /// <summary>
        /// 每页页面大小
        /// </summary>
        public int PageSize { get; private set; }

        /// <summary>
        /// 页面总数
        /// </summary>
        public int TotalCount { get; private set; }

        /// <summary>
        /// 首页页面Index
        /// </summary>
        public IEnumerable<T> Items { get; private set; }

        /// <summary>
        /// .ctor
        /// </summary>
        /// <param name="items">总列表</param>
        /// <param name="pageSize">每页大小</param>
        public PagedList(IEnumerable<T> items, int pageSize)
        {
            PageSize = pageSize;
            TotalCount = items.Count();
            Items = items;
        }

        /// <summary>
        /// 总页面数
        /// </summary>
        public int PageCount
        {
            get { return TotalCount % PageSize == 0 ? TotalCount / PageSize : TotalCount / PageSize + 1; }
        }

        /// <summary>
        /// 根据页面索引计算当前页在列表中的区间上限
        /// </summary>
        /// <param name="pageIndex"></param>
        /// <returns></returns>
        public int GetStartIndex(int pageIndex)
        {
            return (pageIndex - 1) * PageSize + 1;
        }

        /// <summary>
        /// 根据页面索引计算当前页在列表中的区间下限
        /// </summary>
        /// <param name="pageIndex"></param>
        /// <returns></returns>
        public int GetEndIndex(int pageIndex)
        {
            return (pageIndex * PageSize);
        }

        /// <summary>
        /// 根据页面索引获得列表中对应的数据
        /// </summary>
        /// <param name="pageIdx"></param>
        /// <returns></returns>
        public IEnumerable<T> SubItems(int pageIdx)
        {
            return this.Items.Skip(GetStartIndex(pageIdx)-1).Take(PageSize);
        }
    }

 

分页类

原文:http://www.cnblogs.com/zhshlimi/p/8058917.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!