public class Pager<T> where T : new()
{
private IEnumerable<T> _all;
private IEnumerable<T> _current;
public Pager()
: this(, )
{ }
public Pager(int pageIndex, int pageSize)
: this(null, pageIndex, pageSize)
{
}
public Pager(IEnumerable<T> items, int pageIndex = , int pageSize = )
{
PageIndex = pageIndex;
PageSize = pageSize;
if (items != null)
{
_all = items;
var count = _all.Count();
PageCount = count % pageSize > ? (count / pageSize + ) : count / pageSize;
}
} public int PageIndex { get; set; }
public int PageSize { get; private set; }
public int PageCount
{
get;
set;
} public IEnumerable<T> Current
{
get
{
if (_all != null) _current = _all.Skip(PageIndex * PageSize).Take(PageSize);
return _current;
}
set { _current = value; }
} }

this pager supports dual methods, memory pagination or direct usage.

最新文章

  1. Asp.NET MVC 使用 SignalR 实现推送功能二(Hubs 在线聊天室 获取保存用户信息)
  2. XML通过XSL格式化的那点事(XML到自定义节点折叠显示)
  3. SEO学习笔记-误区和经验总结
  4. Java知多少(106)程序与数据库连接
  5. Centos7安装配置gitlab
  6. XMLHttpRequest的跨域请求
  7. UITextView详解
  8. android Fragment和FragmentActivity
  9. 1001.A+B Format (20)的解题
  10. Git基本使用命令(windows)
  11. &quot;No Python interpreter configured for the project &quot; in Pycharm for python selenium
  12. CTF--web
  13. 安装和破解Navicat
  14. linux命令排序
  15. php Allocator Jemalloc TCMalloc那个内存分配器比较好?
  16. spark性能调优(二) 彻底解密spark的Hash Shuffle
  17. 【BZOJ】4025: 二分图
  18. dubbo 心跳
  19. hdu 4946 凸包注意重点
  20. wamp5多站点配置教程

热门文章

  1. System.Windows.Application.Current.Dispatcher.BeginInvoke
  2. ViewPager打造轮播图(Banner)\引导页(Guide)
  3. LightOJ1126 Building Twin Towers(DP)
  4. android 修改 SwitchPreferenceCompat 高度,内边距,字体大小
  5. NOIP2015D1
  6. 深入浅出JMS(三)--ActiveMQ简单的HelloWorld实例
  7. jpa语句报 org.springframework.dao.InvalidDataAccessApiUsageException: Parameter with that position [2] did not exist; nested exception is java.lang.IllegalArgumentException: Parameter with that position
  8. 【noip 2004】 合并果子
  9. POST在发送数据的时候使用的是HTTP命令
  10. Unity学习疑问记录之图片画质