zoukankan      html  css  js  c++  java
  • 一个自用的泛型分页类

    代码:

    using System;
    using System.Collections.Generic;
    using System.Text;
    
    namespace Tandy
    {
    
        /// <summary>
        /// 
        /// 分页类
        /// 
        /// 作者:汤晓华 2009年6月27日
        /// 
        /// copyright 2009
        /// 
        /// </summary>
        public class DataPage<T>
        {
            #region 字段
    
            //索引位置
            private int pageIndex;
            //页面承载的数据条数
            private int pageSize;
            //总数据量
            private int dateCount;
            //结果集
            private IList<T> result;
            //当前结果集中的第一条数在符合条件的数据集中的位置
    
            #endregion
    
            #region 属性访问器
    
            //当前页的索引位置
            public int PageIndex
            {
                get
                {
                    if (pageIndex == 0)
                    {
                        pageIndex = 1;
                    }
                    return pageIndex;
                }
                set { pageIndex = value; }
            }
    
            //页面承载的数据条数
            public int PageSize
            {
                get
                {
                    if (pageSize == 0)
                    {
                        pageSize = 20;
                    }
                    return pageSize;
                }
                set { pageSize = value; }
            }
    
            //总页数
            public int PageCount
            {
                get
                {
                    return (dateCount % pageSize) > 0 ? (dateCount / pageSize) + 1 : (dateCount / pageSize);
                }
            }
    
            /// <summary>
            /// 数据量
            /// </summary>
            public int DateCount
            {
                get { return dateCount; }
                set { dateCount = value; }
            }
    
            //结果集
            public IList<T> Result
            {
                get { return result; }
                set { result = value; }
            }
            //是否有下一页
            public bool HasPrev
            {
                get
                {
                    return pageIndex < PageCount;
                }
            }
            //是否有上一页
            public bool HasNext
            {
                get
                {
                    return pageIndex > 1;
                }
            }
    
            //是否是第一页
            public bool IsFirst
            {
                get
                {
                    return pageIndex == 1;
                }
            }
    
            //是否是最后一页
            public bool IsLast
            {
                get
                {
                    return pageIndex == PageCount;
                }
            }
    
            public int NextPage
            {
                get
                {
                    return pageIndex < PageCount ? pageIndex + 1 : pageIndex;
                }
            }
    
            public int PrevPage
            {
                get
                {
                    return pageIndex > 1 ? pageIndex - 1 : pageIndex;
                }
            }
    
            //当前结果集中的第一条数在符合条件的数据集中的位置
            public int FirstIndex
            {
                get
                {
                    return null != result ? (pageIndex - 1) * pageSize + 1 : 0;
                }
            }
            //当前结果集中的最后一条数在符合条件的数据集中的位置
            public int LastIndex
            {
                get
                {
                    return null != result ? FirstIndex + result.Count - 1 : 0;
                }
            }
    
            #endregion
    
            #region 构造
    
            public DataPage(int pageIndex, int pageSize)
            {
                this.pageIndex = pageIndex;
                this.pageSize = pageSize;
            }
    
            public DataPage()
            {
    
            }
    
            #endregion
    
        }
    
     
    
    }

    用法:

    DataPage<T> page = new DataPage<T>(pageindex,pageSize);

    page.DataCount = 数据条数;

    page.Result = IList<T>;

    DataPage<T> 该类包含了常用的属性。大家有兴趣的可以详细的看一下。可能有bug 小弟没有太多测试。

  • 相关阅读:
    高校手机签到系统——Ksoap2的一些使用心得(补充)
    高校手机签到系统——zxing.net生成二维码(补充)
    高校手机签到系统——手机客户端
    高校手机签到系统——第一部分Authority权限系统(下)
    高校手机签到系统——第一部分Authority权限系统(上)
    《算法导论》——顺序统计RandomizedSelect
    《算法导论》——计数排序Counting Sort
    [Asp.Net Core] Blazor Server Side 项目实践
    [Asp.Net Core] Blazor Server Side 开发教程
    视频图文教学
  • 原文地址:https://www.cnblogs.com/tandly/p/1613421.html
Copyright © 2011-2022 走看看