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 小弟没有太多测试。

  • 相关阅读:
    实验一 命令解释程序的编写
    试验二
    实验一 命令解释程序的编写(重交)
    Sqlserver数据库帮助类(EFTools)
    js验证
    sqlserver中从日期字段取得月份
    IIS不可用或者有问题解决方法
    professional email address collections
    从psd文件到html
    空白符对HTML结构的影响与解决方案
  • 原文地址:https://www.cnblogs.com/tandly/p/1613421.html
Copyright © 2011-2022 走看看