20140728 easyui分頁

分頁,很常見的,記錄下我的分頁方式:

頁面代碼,很簡單:

<body class="easyui-layout">
	
	<div id="mainPanle" class="centerDiv" data-options="region:'center'">
                <table id="dg"></table>
		
	</div>
	
</body>

js代碼,稍微複雜點:

$(document).ready(function(){
	
	loadGrid();
});

function loadGrid(){
	$('#dg').datagrid({
		height:498,
		striped: true,
		pagination: true,
		pageList:[10,20,30,40],//每頁的個數 
		loadMsg:'數據加載中,請稍後……',
	    url:'bookAction!findPageBooks',
	    rownumbers:true,
	    singleSelect:true,
	    columns:[[
	        {field:'id',title:'書號',width:100},
	        {field:'name',title:'書名',width:100},
	        {field:'version',title:'版本',width:100},
	        {field:'publishedAt',title:'出版時間',width:100},
	        {field:'createdBy',title:'創建人',width:100},
	        {field:'createdAt',title:'創建時間',width:100},
	        {field:'updatedBy',title:'更新人',width:100},
	        {field:'updatedAt',title:'最後更新時間',width:100}
	    ]]
	});
}


java方法:

public String findPageBooks(){
		
		log.info("進入到BOOK ajax findPageBooks方法...");
		System.out.println("進入到BOOK ajax findPageBooks方法...");
		System.out.println("page = " + this.getPage());
		System.out.println("rows = " + this.getRows());
		System.out.println("fromNum = " + this.getFromNum());
		System.out.println("toNum = " + this.getToNum());
		String listJsonStr;
		try {
			bookQueryModel = new BookQueryModel();
			// bookQueryModel.setSortName("id");
			// bookQueryModel.setSortOrder("asc");
			listJsonStr = bookService.findBooksByPage(bookQueryModel, this.getFromNum(), this.getToNum());
			CommonUtils.renderJson(response, listJsonStr);
			System.out.println("listJsonStr  = " + listJsonStr);
		} catch (IOException e) {
			e.printStackTrace();
			return "error";
		} catch (Exception e) {
			e.printStackTrace();
			return "error";
		}
		return null;
	}
service方法:
// 註解是爲了消除錯誤:"No Session found for current thread"
// 這裏涉及到spring版本的問題
	@Transactional
	public String findBooksByPage(BookQueryModel bookQueryModel,
			final int fromNum, final int toNum) throws Exception {
		String dataSQL = "SELECT * FROM P_BOOK WHERE 1=1 ORDER BY "
				+ bookQueryModel.getSortName() + " "
				+ bookQueryModel.getSortOrder() + " limit " + fromNum + ","
				+ toNum;// 加上數據條數限制
		String totalSQL = "SELECT COUNT(*) FROM P_BOOK WHERE 1=1";// 要加上查詢的條件
		
		return JacksonUtils.object2JsonStr(commonDao.queryPageResultBySQL(dataSQL, totalSQL,PBook.class));
	}
common dao方法:

	public PageModel queryPageResultBySQL(String dataSQL, String totalSQL, Class<?> cls) {

		PageModel pageModel = new PageModel();
		System.out.println("dataSQL = " + dataSQL);
		System.out.println("totalSQL = " + totalSQL);
		List<Object> dataList = null;
		List<Object> totalList = null;
		int totalNum = 0;
		try {
			dataList = getCurrentSession().createSQLQuery(dataSQL).addEntity(cls).list();
			totalList = getCurrentSession().createSQLQuery(totalSQL).list();
			totalNum = Integer.valueOf(String.valueOf(totalList.get(0))).intValue();
			pageModel.setTotal(totalNum);
			pageModel.setRows(dataList);
		} catch (Exception e) {
			e.printStackTrace();
			throw e;
		}
		return pageModel;
	}

pageModel類:

package com.frl.practice.common.model;

import java.util.List;

public class PageModel {

	private List<Object> rows;
	private int total;

	public List<Object> getRows() {
		return rows;
	}

	public void setRows(List<Object> rows) {
		this.rows = rows;
	}

	public int getTotal() {
		return total;
	}

	public void setTotal(int total) {
		this.total = total;
	}
}






發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章