Created
February 16, 2017 17:55
-
-
Save wghglory/7cb49c6529cc19c33a4b1e756f36edfd to your computer and use it in GitHub Desktop.
Pagination logic
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using System.Collections.Generic; | |
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 = 0; | |
this.OnePageSize = 20;//默认最大行数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 == 0) | |
{ | |
BeginPage = 0; | |
EndPage = 0; | |
} | |
else | |
{ | |
int maxpage = count / pageSize; | |
if (count % pageSize > 0) | |
{ | |
maxpage++; | |
} | |
if (index >= maxpage) | |
{ | |
index = maxpage; | |
BeginPage = pageSize * index - pageSize + 1; | |
EndPage = count; | |
} | |
else | |
{ | |
BeginPage = pageSize * index - pageSize + 1; | |
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 == 0) | |
{ | |
BeginPage = 0; | |
EndPage = 0; | |
} | |
else | |
{ | |
int maxpage = count / pageSize; | |
if (count % pageSize > 0) | |
{ | |
maxpage++; | |
} | |
if (index >= maxpage) | |
{ | |
index = maxpage; | |
BeginPage = pageSize * index - pageSize + 1; | |
EndPage = count; | |
} | |
else | |
{ | |
BeginPage = pageSize * index - pageSize + 1; | |
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; } | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment