Page分页算法

  1. 定义分页实体类
/**
 * 分页类
 */
public class Page implements Serializable{
	private static final long serialVersionUID = -5533842459350912797L;
	private boolean entityOrField;	//true:需要分页的地方,传入的参数就是Page实体;false:需要分页的地方,传入的参数所代表的实体拥有Page属性
	private List<?> dataList;
	private PageData pd = new PageData();
	private boolean usePage = true;		//是否开启分页  默认开启
	public Page(){	
	}	
	public int getTotalPage() {
		if(totalResult%rows==0)
			totalPage = totalResult/rows;
		else
			totalPage = totalResult/rows+1;
		return totalPage;
	}	
	public void setTotalPage(int totalPage) {
		this.totalPage = totalPage;
	}
	public int getTotalResult() {
		return totalResult;
	}	
	public void setTotalResult(int totalResult) {
		this.totalResult = totalResult;
	}	
	public int getCurrentPage() {
		if(page<=0)
			page = 1;
		return page;
	}
	public void setCurrentPage(int page) {
		this.page = page;
	}
	public int getCurrentResult() {
		currentResult = (getCurrentPage()-1)*getRows();
		if(currentResult<0)
			currentResult = 0;
		return currentResult;
	}
	public void setCurrentResult(int currentResult) {
		this.currentResult = currentResult;
	}
	public PageData getPd() {
		return pd;
	}
	public void setPd(PageData pd) {
		this.pd = pd;
	}		
	@SuppressWarnings("rawtypes")
	public List getDataList() {
		return dataList;
	}
	public void setDataList(List<?> dataList) {
		this.dataList = dataList;
	}
	public Integer getPage() {
		return page;
	}
	public void setPage(Integer page) {
		this.page = page;
	}
	public Integer getRows() {
		return rows;
	}
	public void setRows(Integer rows) {
		this.rows = rows;
	}
	public boolean isUsePage() {
		return usePage;
	}
	/**
	 * 是否分页
	 * @param usePage
	 */
	public void setUsePage(boolean usePage) {
		this.usePage = usePage;
	}
}
  1. 获取集合数据
List<CountAnalys> countAnalysList = new ArrayList<>();
for (int i = 0;i < countListByIntState.size(); i++) {
	CountAnalys countAnalys = new CountAnalys();
	countAnalysList.add(countAnalys);
}
  1. 分页方法
int curpage = page0.getCurrentPage(); 		//设置分页页数
		int rows = page0.getRows();					//设置每页显示的数据量
		EasyuiGrid grid = new EasyuiGrid();
		int intStart = (curpage-1)*rows;			
		int intEnd = curpage*rows;
		page0.setDataList(countAnalysList);
		page0.setTotalResult(countAnalysList.size());
		page0.setUsePage(true);
		grid.setTotal(page0.getTotalResult());
		List<CountAnalys> countAnalysListTemp = new ArrayList<>();          //定义每页展示的数据量countAnalysListTemp
		if(intEnd < countAnalysList.size()) {
			for(int i=intStart;i<intEnd;i++) {
				CountAnalys countAnalys =(CountAnalys) page0.getDataList().get(i);
				countAnalysListTemp.add(countAnalys);
			}
		}else {
			for(int i=intStart;i<countAnalysList.size();i++) {
				CountAnalys countAnalys =(CountAnalys) page0.getDataList().get(i);
				countAnalysListTemp.add(countAnalys);
			}
		}
		grid.setRows(countAnalysListTemp);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值