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: ...
随机推荐
- 小程序observer函数的应用
需求是这样的 就是构建月份的组件中,月份小于10月的时候 显示的数字都是一个位数,需要转换成两位数, 比如8月份是8 ,那就要转换为08 ,同理可得 其他低于十月份的月份也是要这样做: 打开组件的js ...
- c语言之秒数算法
// 水仙花树:是指一个3位数字,立方和 等于该数本身 // 秒数算法:随便输入一个大于0的数,求出对应的多少小时多少分钟多少秒 #include <stdio.h> / int main ...
- HTML5 Canvas 时钟
1. [图片] QQ截图20120712130049.png 2. [代码][HTML]代码 <!DOCTYPE html><html lang="en" &g ...
- [原创]java在线比较两个word文件
一.项目背景 开发文档管理系统或OA办公系统的时候,实现在线处理word文档的功能比较容易,但是也经常会有客户提出文档版本管理的需求,这就需要同时在线打开两个word文件,对比两个不同版本的word文 ...
- [CROATIAN2009] OTOCI
[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=1180 [算法] 动态树维护森林连通性 时间复杂度 : O(NlogN ^ 2) [代 ...
- flask logger
Flask uses standard Python logging. All Flask-related messages are logged under the 'flask' logger n ...
- inline关键字的用法详解
1. 引入inline关键字的原因 在c/c++中,为了解决一些频繁调用的小函数大量消耗栈空间(栈内存)的问题,特别的引入了inline修饰符,表示为内联函数. 栈空间就是指放置程序的局部数据(也就是 ...
- having,groub by 结合聚合函数的用法解析
聚合函数有:sum , count, avg, max等等: where无法与聚合函数一起使用,所以在sql语句中加上having子句来筛选查询结果: 上面的sql语句是错的,正确如下: SELECT ...
- Game with Powers
题意: 有1~n,n个数字,两个人轮流操作,每一次一个人可以拿一个数字$x$,之后$x, x^2, x^3....x^t$全都被删掉. 给定n,问最优策略下谁赢. 解法: 考虑SG函数,可以注意到题目 ...
- 安装java之后,找不到tools.jar 和dt.jar
可能很多初学者和我一样,在初次接触java开发的过程中,急于看到最终的结果,匆匆在网上下载了jdk之后,点击安装,结果等安装完,开始配置classpath时,发现jdk/lib下面根本就没有 tool ...