C【C#公共帮助类】分页逻辑处理类
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text; namespace Common
{
/// <summary>
/// 分页逻辑处理类
/// </summary>
public class PageCollection
{
/// <summary>
/// 总页数
/// </summary>
public int TotalPages { get; set; }
/// <summary>
/// 当前页面
/// </summary>
public int CurrentPage { get; set; }
/// <summary>
/// 每页的记录数
/// </summary>
public int OnePageSize { get; set; }
/// <summary>
/// 总记录数
/// </summary>
public long TotalRows { get; set; }
/// <summary>
/// 排序
/// </summary>
public string OrderBy { get; set; } /// <summary>
/// 构造无参默认为最大数
/// </summary>
public PageCollection()
{
this.CurrentPage = ;
this.OnePageSize = ;//默认最大行数20条
}
}
/// <summary>
/// 分页逻辑处理类 linq to entites
/// </summary>
public class PageInfo<TEntity> where TEntity : class
{
public PageInfo(int index, int pageSize, int count, List<TEntity> list,string url="")
{
Index = index;
PageSize = pageSize;
Count = count;
List = list;
Url = url;
//计算数据条数从开始到结束的值
if (count == )
{
BeginPage = ;
EndPage = ;
}
else
{
int maxpage = count / pageSize; if (count % pageSize > )
{
maxpage++;
}
if (index >= maxpage)
{
index = maxpage; BeginPage = pageSize * index - pageSize + ;
EndPage = count;
}
else
{
BeginPage = pageSize * index - pageSize + ;
EndPage = pageSize * index;
}
}
} public int Index { get; private set; }
public int PageSize { get; private set; }
public int Count { get; private set; }
public List<TEntity> List { get; set; }
public string Url { get; set; }
public int BeginPage { get; private set; }
public int EndPage { get; private set; }
} /// <summary>
/// 分页逻辑处理类 dynamic
/// </summary>
public class PageInfo
{
public PageInfo(int index, int pageSize, int count, dynamic list, string url = "")
{
Index = index;
PageSize = pageSize;
Count = count;
List = list;
Url = url;
//计算数据条数从开始到结束的值
if (count == )
{
BeginPage = ;
EndPage = ;
}
else
{
int maxpage = count / pageSize; if (count % pageSize > )
{
maxpage++;
}
if (index >= maxpage)
{
index = maxpage; BeginPage = pageSize * index - pageSize + ;
EndPage = count;
}
else
{
BeginPage = pageSize * index - pageSize + ;
EndPage = pageSize * index;
}
}
} public int Index { get; private set; }
public int PageSize { get; private set; }
public int Count { get; private set; }
public dynamic List { get; private set; }
public string Url { get; set; }
public int BeginPage { get; private set; }
public int EndPage { get; private set; }
} /// <summary>
/// Eazyui分页处理逻辑类
/// </summary>
public class PageEazyUi
{
public PageEazyUi(int _page, int _pagesize, int _total, object _rows)
{
page = _page;
pagesize = _pagesize;
total = _total;
rows = _rows;
} public int page { get; private set; }
public int pagesize { get; private set; }
public int total { get; private set; }
public object rows { get; private set; }
}
}
C【C#公共帮助类】分页逻辑处理类的更多相关文章
- 【C#公共帮助类】分页逻辑处理类
分页逻辑处理类 PageCollection.cs using System; using System.Collections.Generic; using System.Linq; using S ...
- java面向对象类的继承~ 匿名类 ;多态特性;强制类型转换
类的继承 创建子类语法: 修饰符 class 子类名 extends 父类名{ } 匿名子类语法: 直接实例化,过程中通过匿名类 继承父类,在实例化过程中将子类匿名 <父类 ...
- j2ee model1模型完成分页逻辑的实现 详解!
在显示用户全部信息的页面,在显示全部数据的时候,长长的滚动条,像是没有边界的天空一样, 让用户查看数据很不方便. 于是, 我们要把这些数据分页显示, 就像office的word一样,每页显示一定数量的 ...
- SSM框架手动实现分页逻辑(非PageHelper)
第一种方法:查询出所有数据再分页 分析: 分页时,需要获得前台传来的两个参数,分别为pageNo(第几页数据),pageSize(每页的条数); 根据这两个参数来计算出前端需要的数据是查出数据list ...
- SSM手动实现分页逻辑---非PageHelper方式
第一种方法:查询出所有数据再分页 分析: 分页时,需要获得前台传来的两个参数,分别为pageNo(第几页数据),pageSize(每页的条数); 根据这两个参数来计算出前端需要的数据是查出数据list ...
- 分享自研实现的多数据源(支持同DB不同表、跨DB表、内存数据、外部系统数据等)分页查询工具类实现原理及使用
思考: 提起分页查询,想必任何一个开发人员(不论是新手还是老手)都能快速编码实现,实现原理再简单不过,无非就是写一条SELECT查询的SQL语句,ORDER BY分页排序的字段, 再结合limit ( ...
- 分享非常好用的前端分页js工具类 灵活 简单易懂
分享自己封装的前端分页js工具类 下面是默认样式效果截图 可以随意更改js及css 很灵活 /** * pageSize, 每页显示数 * pageIndex, 当前页数 * pageCount 总 ...
- Java编程的逻辑 (13) - 类
本系列文章经补充和完善,已修订整理成书<Java编程的逻辑>,由机械工业出版社华章分社出版,于2018年1月上市热销,读者好评如潮!各大网店和书店有售,欢迎购买,京东自营链接:http:/ ...
- Java编程的逻辑 (14) - 类的组合
本系列文章经补充和完善,已修订整理成书<Java编程的逻辑>,由机械工业出版社华章分社出版,于2018年1月上市热销,读者好评如潮!各大网店和书店有售,欢迎购买,京东自营链接:http: ...
随机推荐
- 判断DOM元素是否出现再浏览器窗口中
几乎所有的项目都要解决这样一个问题:判断一个元素是否出现在浏览器窗口中?因为通过它我们可以极大的优化项目的性能,进而提升用户的的体验.原生javasxript获取浏览器的滚动距离和可视窗口的高度 使用 ...
- [haoi2014]穿越封锁线
这题需要注意的一点是射线法需要考虑边界,而且题目对边界的限制极为严格. dcmp(v[i%n].x-x)<=0&&dcmp(v[(i+1)%n].x-x)>0 dcmp(v ...
- Redis缓存服务搭建及实现数据读写 - Eric.Chen
发现博客园中好多大牛在介绍自己的开源项目是很少用到缓存,比如Memcached.Redis.mongodb等,今天得空抽时间把Redis缓存研究了一下,写下来总结一下,跟大家一起分享 一下.由于小弟水 ...
- VS2010关于调用ffmpeg借口出错
win7 下开发视频服务器,用到ffmpeg,debug版本运行正常,切换到release时,出现"0x00905a4d 处未处理的异常: 0xC0000005: 读取位置 0x00905a ...
- hdu-5761 Rower Bo(数学)
题目链接: Rower Bo Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others ...
- 【转】澄清P问题、NP问题、NPC问题
首先,原文链接.(这篇文章让我第一次有了感谢腾讯,感谢微信,感谢微信公众号的冲动.总之,非常感谢作者的分享.) 然后:结论图如下 担心万一哪天原网站把这篇文章下线,所以原文内容复制过来. 澄清P问题. ...
- Python: PS 图像调整--饱和度调整
本文用 Python 实现 PS 图像调整中的饱和度调整算法,具体的算法原理和效果可以参考之前的博客: http://blog.csdn.net/matrix_space/article/detail ...
- 日志的打印 —— Java 支持
1. java.util.logging.Logger 日志级别(logLevel) OFF,Integer.MAX_VALUE SEVERE,1000 WARNING,900 INFO,800 CO ...
- 基于候选区域的R-CNN系列网络简介
使用候选区域方法(region proposal method)创建目标检测的感兴趣区域(ROI).在选择性搜索(selective search,SS)中,首先将每个像素作为一组.然后,计算每一组的 ...
- Jasper:API / API 策略和最佳做法
ylbtech-Jasper:API / API 策略和最佳做法 1.返回顶部 1. API 策略和最佳做法 Cisco Jasper 已经建立了一项 API 公平使用策略,确保所有 Control ...