c#分页工具类,完美实现List分页

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace ProjectProgress.BLL
{
    /// <summary>
    /// 分页工具类
    /// </summary>
    /// <typeparam name="T"></typeparam>
    public class PagingUtil<T> : List<T>
    {
        public int DataCount { get; set; } //总记录数
        public int PageCount { get; set; } //总页数
        public int PageNo { get; set; } //当前页码
        public int PageSize { get; set; } //每页显示记录数
        //是否有上一页
        public bool HasPreviousPage
        {
            get { return PageNo > 1; }
        }

        //是否有下一页
        public bool HasNextPage
        {
            get { return PageNo < this.PageCount; }
        }

        /// <summary>
        /// 构造方法
        /// </summary>
        /// <param name="dataList"></param>
        /// <param name="pageSize"></param>
        /// <param name="pageNo"></param>
        public PagingUtil(List<T> dataList, int pageSize, int pageNo)
        {
            this.PageSize = pageSize;
            this.PageNo = pageNo;
            this.DataCount = dataList.Count;
            this.PageCount = (int) Math.Ceiling((decimal) this.DataCount/pageSize);
            this.AddRange(dataList.Skip((pageNo - 1)*pageSize).Take(pageSize));
        }
    }

}

 

时间: 2024-10-27 03:10:20

c#分页工具类,完美实现List分页的相关文章

常用PHP封装分页工具类

分页基本上是每个项目都会使用到的,所以呢,把它封装成一个工具类,以后直接调用就可以了(虽然TP框架的灰常强大,但是自己封一个也未尝不可.),这样既省时又省力还赚'工分'. 我封的这个分页工具类还比较完整,有首页,上一页,下一页,末页和可选数量的页码数量(也就是当页面很多时,只显示依据参数传入的个数),还可以依据需求选择是否使用下拉跳转页面功能. <?php /** * 分页工具类 */ class page{ /** * 返回分页所需字符串 * @param $pageNum int 显示的页码

php实现的分页工具类

 本文分享一个php实现的分页工具类,代码内有注释,大家参考使用吧 代码:    代码如下:     /**     * 把中间的看成一个可以滑动的固定长度的尺子     *     * 把$this->_totalShowPages 当成一个可以滑动的固定长度尺子,     * 然后$this->_totalPages就是一个给定长度的木块,尺子在这个     * 木块上滑动.情况两种:     * 1. 尺子长度大于木块长度,那么就直接输出所有的页码:     * 2. 尺子长度小于木块长

分页工具类JdbcUtil

分页工具类JdbcUtil 对数据库表进行查询,StringBuffer sql = "select * from Table"等,查询得到数据很多(10000条),这个时候你需要采取后台分页的形式,将查询结果返回. 调用JdbcUtil中的paginationSql()方法,将sql组合成sql级别的分页形式. package com.jdbc.util; public class JdbcUtil { private static String PAGINATION_START =

PHP实现的一分页工具类代码

  总的页数是一个长度一定的木块,这把尺子在这个木块上滑动,前提,尺子的两端不能超出木块:D.发现这么一来要做的事情就是去找这个尺子在木块上的起始点,根据用户给传进来的page变量.哈哈,关键代码下面:  代码如下       /**     * 把中间的看成一个可以滑动的固定长度的尺子     *     * 把$this->_totalShowPages 当成一个可以滑动的固定长度尺子,     * 然后$this->_totalPages就是一个给定长度的木块,尺子在这个     * 木

php实现分页工具类分享_php实例

代码: 复制代码 代码如下:     /**    * 把中间的看成一个可以滑动的固定长度的尺子    *    * 把$this->_totalShowPages 当成一个可以滑动的固定长度尺子,    * 然后$this->_totalPages就是一个给定长度的木块,尺子在这个    * 木块上滑动.情况两种:    * 1. 尺子长度大于木块长度,那么就直接输出所有的页码:    * 2. 尺子长度小于木块长度,那么就只用找到输出这个尺子长度页    * 数的起始点--$start,

JSP分页技术实现 使用工具类实现通用分页处理

js|分页 目前比较广泛使用的分页方式是将查询结果缓存在HttpSession或有状态bean中,翻页的时候从缓存中取出一页数据显示.这种方法有两个主要的缺点:一是用户可能看到的是过期数据:二是如果数据量非常大时第一次查询遍历结果集会耗费很长时间,并且缓存的数据也会占用大量内存,效率明显下降. 其它常见的方法还有每次翻页都查询一次数据库,从ResultSet中只取出一页数据(使用rs.last();rs.getRow()获得总计录条数,使用rs.absolute()定位到本页起始记录).这种方式

分页封装实用工具类及其使用方法

分页封装实用工具类及其使用方法 作者: javaboy2012 Email:yanek@163.com qq:    1046011462     package com.yanek.util; import java.util.List; public class PageBean { /** * @param args */ public static void main(String[] args) { } private int currentpage; // 当前页数 private

运用工具类分页 页面怎么写?

问题描述 运用工具类分页 页面怎么写? 我对分页的页面不知道怎么下手 工具类 在页面 如何使用不清楚,求高人指点 public class Pagination implements Serializable { private static final long serialVersionUID = 1L; private int start; // start表示当前页开始的记录数,start=每页行数*(当前页数-1) private int end; // 当前页结束的记录行数 priv

完美php文章分页类

 class SubPages{   private   $each_disNums;//每页显示的条目数   private   $nums;//总条目数   private   $current_page;//当前被选中的页   private   $sub_pages;//每次显示的页数   private   $pageNums;//总页数   private   $page_array = array();//用来构造分页的数组   private   $subPage_link;//