分享一个C#的分页类建议收藏

废话不说只有代码:1usingSystem.Linq;2usingSystem.Collections.Generic;34namespaceCommonLibrary5{6

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

分享一个C#的分页类建议收藏此处内容已经被作者隐藏,请输入验证码查看内容
验证码:
请关注本站微信公众号,回复“”,获取验证码。在微信里搜索“”或者“”或者微信扫描右侧二维码都可以关注本站微信公众号。

废话不说只有代码:

 1 using System.Linq;
 2 using System.Collections.Generic;
 3 
 4 namespace CommonLibrary
 5 {
 6     public class PagedList<T> : List<T>
 7     {
 8         #region Properties
 9 
10         public int PageIndex { get; private set; }
11 
12         public int PageSize { get; private set; }
13 
14         public int TotalCount { get; private set; }
15 
16         public int TotalPages { get; private set; }
17 
18         public bool HasPreviousPage
19         {
20             get { return (PageIndex > 0); }
21         }
22         public bool HasNextPage
23         {
24             get { return (PageIndex + 1 < TotalPages); }
25         }
26 
27         #endregion
28        //http://www.cnblogs.com/roucheng/
29         #region Constructors
30 
31         public PagedList(IQueryable<T> source, int pageIndex, int pageSize)
32         {
33             if (source == null || source.Count() < 1)
34                 throw new System.ArgumentNullException("source");
35 
36             int total = source.Count();
37             this.TotalCount = total;
38             this.TotalPages = total / pageSize;
39 
40             if (total % pageSize > 0)
41                 TotalPages++;
42 
43             this.PageSize = pageSize;
44             this.PageIndex = pageIndex;
45             this.AddRange(source.Skip(pageIndex * pageSize).Take(pageSize).ToList());
46         }
47 
48         public PagedList(IList<T> source, int pageIndex, int pageSize)
49         {
50             if (source == null || source.Count() < 1)
51                 throw new System.ArgumentNullException("source");
52 
53             TotalCount = source.Count();
54             TotalPages = TotalCount / pageSize;
55 
56             if (TotalCount % pageSize > 0)
57                 TotalPages++;
58 
59             this.PageSize = pageSize;
60             this.PageIndex = pageIndex;
61             this.AddRange(source.Skip(pageIndex * pageSize).Take(pageSize).ToList());
62         }
63 
64         public PagedList(IEnumerable<T> source, int pageIndex, int pageSize, int totalCount)
65         {
66             if (source == null || source.Count() < 1)
67                 throw new System.ArgumentNullException("source");
68 
69             TotalCount = totalCount;
70             TotalPages = TotalCount / pageSize;
71 
72             if (TotalCount % pageSize > 0)
73                 TotalPages++;
74 
75             this.PageSize = pageSize;
76             this.PageIndex = pageIndex;
77             this.AddRange(source);
78         }
79 
80         #endregion
81     }
82 }

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/120768.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • python分子化学模拟_#分子模拟#MDTraj分子模拟python包(一)

    python分子化学模拟_#分子模拟#MDTraj分子模拟python包(一)MDTraj是分子动力学模拟的一个python包,相对于MDAnalysis个人觉得操作性更强,更加Python范一些。其能够进行不同模拟软件的轨迹转换,常规计算,分析等等一体化。今天我们介绍其安装方法和简单使用。官方地址:点击进入安装方法推荐使用conda安装mdtraj.$condainstall-cconda-forgemdtraj同样也可以使用pip来安装mdtraj测试安装运…

  • java中中文显示乱码_java中显示中文乱码解决方法

    java中中文显示乱码_java中显示中文乱码解决方法java显示乱码解决方法:1、utf8解决JSP中文乱码问题一般说来在每个页面的开始处,加入:charset=UTF-8的作用是指定JSP向客户端输出的编码方式为“UTF-8”;pageEncoding=”UTF-8″,为了让JSP引擎能正确地解码含有中文字符的JSP页面,这在LINUX中很有效;request.setCharacterEncoding(“UTF-8”);是对请求进行了中文编码。有…

  • Druid 介绍及配置「建议收藏」

    Druid 介绍及配置「建议收藏」 转自阿里Druid官方,欢迎大家使用Druid,常见问题在这里解答,希望对大家有所帮助。1.Druid是什么?Druid是Java语言中最好的数据库连接池。Druid能够提供强大的监控和扩展功能。2.在哪里下载druid正式版本下载: maven中央仓库: http://central.maven.org/maven2/com/alibaba/druid/ 3.怎么获…

  • JS跳转代码_javascript跳转代码

    JS跳转代码_javascript跳转代码<scriptlanguage=”javascript”type=”text/javascript”>functionrequest(paras){varurl=location.href;varparaString=url.substring(url.indexOf(“?”)+1,url.length).split(“&”);varparaObj={}for(i=0;j=paraString[i];i++){paraObj[j.substrin

  • linux shell 脚本 入门到实战详解[⭐建议收藏!!⭐]

    linux shell 脚本 入门到实战详解[⭐建议收藏!!⭐]文章目录shell入门到实战详解[⭐建议收藏!!⭐]关于作者**作者介绍**一、shell入门简介1.1什么是shell1.2shell编程注意事项1.3第一个shell脚本helloworld二、shell环境变量讲解2.1shell变量详解2.2shell系统变量介绍2.3shell环境变量介绍2.3.1常见的系统环境变量2.4shell用户环境变量介绍2.4.1自定义shell环境变量2.4.2echo打印菜单栏2.4.3shell中彩色输出h

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号