using System;
using System.Collections.Generic;
using System.Text;
namespace WindowsApp
{
class Paging
{
private int rowsPerPage; //每页显示的记录数
private int totalRows; //总记录数
private int totalPages; //总页数
private int cruuPage = 1; //当前页码
private int reqPage; //要请求的页码
private int reqFirstRow; //请求页第一条记录数
//private int reqLastRow; //请求页最后一条记录数
/**
* 构造方法,初始化每页显示的记录数、总记录数、总页数
* @param rowsPerPage 每页显示的记录数
* @param totalRows 总记录数
*/
public Paging(int rowsPerPage, int totalRows)
{
this.rowsPerPage = rowsPerPage;
this.totalRows = totalRows;
if (totalRows % rowsPerPage == 0)
totalPages = totalRows / rowsPerPage;
else
totalPages = totalRows / rowsPerPage + 1;
}
/**
* 分页方法,通过要请求的页来初始化请求页第一条记录数、请求页最后一条记录数
* 重新定位要请求的页码、当前页码
* @param reqPage 要请求的页码
*/
public void Page(int reqPage)
{
if (reqPage < 1) reqPage = 1;
else if (reqPage > this.totalPages) reqPage = this.totalPages;
this.reqPage = reqPage;
reqFirstRow = (reqPage - 1) * rowsPerPage;
//if (reqPage == totalPages)
// reqLastRow = totalRows;
//else
// reqLastRow = reqPage * rowsPerPage;
cruuPage = reqPage;
}
public int RowsPerPage
{
get { return rowsPerPage; }
}
/**
* 返回上一页页码
* @return
*/
public int PreviousPage
{
get
{
if (cruuPage == 1) return 1;
return cruuPage - 1;
}
}
/**
* 返回下一页页码
* @return
*/
public int NextPage
{
get
{
if (cruuPage == totalPages) return totalPages;
return cruuPage + 1;
}
}
/**
* 返回总页数
* @return
*/
public int TotalPages
{
get { return totalPages; }
}
/**
* 返回请求页第一条记录数
* @return
*/
public int ReqFirstRow
{
get { return reqFirstRow; }
}
/**
* 返回请求页最后一条记录数
* @return
*/
//public int ReqLastRow
//{
// get { return reqLastRow; }
//}
/**
* 返回当前页码
* @return
*/
public int CruuPage
{
get {return cruuPage; }
}
}
}
//csharp/1152