using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Text;
|
|
namespace BatchService.Framework.Utility
|
{
|
public class PageList
|
{
|
public int ItemCount { get; set; }
|
public int CurrentPageIndex { get; set; }
|
public int PageCount { get; set; }
|
public string Description { get; set; }
|
public List<int> Pages { get; set; }
|
public string KeyWord { get; set; }
|
public string OrderColumn { get; set; }
|
public string OrderAsc { get; set; }
|
|
public static PageList GetPageList(int ItemCount, int PageSize, int PageIndex)
|
{
|
PageList pages = new PageList();
|
pages.ItemCount = ItemCount;
|
pages.CurrentPageIndex = PageIndex;
|
if (ItemCount % PageSize == 0)
|
{
|
pages.PageCount = ItemCount / PageSize;
|
}
|
else
|
{
|
pages.PageCount = ItemCount / PageSize + 1;
|
}
|
if (pages.CurrentPageIndex == 0)
|
{
|
pages.CurrentPageIndex = 1;
|
}
|
if (pages.CurrentPageIndex == 999)
|
{
|
pages.CurrentPageIndex = pages.PageCount;
|
}
|
pages.Description = string.Format("当前第{0}页:,共{1}页", pages.CurrentPageIndex, pages.PageCount);
|
//开始页码
|
int PageStart = pages.CurrentPageIndex - 4;
|
if (PageStart <= 0)
|
{
|
PageStart = 1;
|
}
|
//结束页码
|
int PageEnd = pages.CurrentPageIndex + 4 + (4 - PageStart <= 0 ? 0 : 4 - PageStart);
|
if (PageEnd > pages.PageCount)
|
{
|
PageEnd = pages.PageCount;
|
}
|
pages.Pages = new List<int>();
|
pages.Pages.Add(0);
|
for (int x = PageStart; x <= PageEnd; x++)
|
{
|
pages.Pages.Add(x);
|
}
|
pages.Pages.Add(999);
|
return pages;
|
}
|
/// <summary>
|
/// 分页集合
|
/// </summary>
|
/// <param name="CountSizi">总条数</param>
|
/// <param name="PageSizi">每一页总条数</param>
|
/// <returns></returns>
|
public static List<int> GetPages(int CountSizi, int PageSizi, int Pageindex)
|
{
|
int pageCount = 0;
|
if (CountSizi % PageSizi == 0)
|
{
|
pageCount = CountSizi / PageSizi;
|
}
|
else
|
{
|
pageCount = CountSizi / PageSizi + 1;
|
}
|
if (Pageindex == 0)
|
{
|
Pageindex = 1;
|
}
|
if (Pageindex == 999)
|
{
|
Pageindex = pageCount;
|
}
|
//开始页码
|
int PageStart = Pageindex - 4;
|
if (PageStart <= 0)
|
{
|
PageStart = 1;
|
}
|
//结束页码
|
int PageEnd = Pageindex + 4;
|
if (PageEnd > pageCount)
|
{
|
PageEnd = pageCount;
|
}
|
List<int> list = new List<int>();
|
list.Add(0);
|
for (int x = PageStart; x <= PageEnd; x++)
|
{
|
list.Add(x);
|
}
|
list.Add(999);
|
return list;
|
}
|
}
|
}
|