LigerUI Grid(表格)分頁要注意的地方

給你的grid控件添加個屬性:
usePager: true//開啓分頁 否則grid底部的上一頁下一頁相似這樣的按鈕都沒有

當usePager設置爲true時,單擊分頁條上的按鈕後所提交的請求中會默認多添加2個參數:page和pagesize,這倆參數不用手動本身添加,做爲使用者,咱們只要在服務器端接受這倆參數就能夠了。 java

參數page:想獲得第幾頁;
參數pagesize:每頁顯示多少條記錄; json

也就是說在頁面設置usePager:true 後,下面的工做就在服務器端進行了。 服務器

    服務端拿到page和pagesize參數後,經過參數查詢獲得返回的結果後,還要手動查詢總記錄數app

由於我用AJAX的方式來實現填充Grid,而且這個grid接受的是JSON數據,這個json數據還有格式要求: ui

    請參考個人服務端代碼(只供參考): spa


@RequestMapping("/chance/list")
	public @ResponseBody
	String proccessList(Model model,String page,String pagesize) {
		
		log.info("分頁信息:"+page+","+pagesize);
		if(null==page){page="1";}
		if(null==pagesize){pagesize="5";}
		List<Chance> list = chanceBiz.list(Integer.valueOf(page),Integer.valueOf(pagesize));
		ObjectMapper map = new ObjectMapper();  //這個對象是jackson庫裏的
		String rst = "";
		try {
			rst = map.writeValueAsString(list);//轉換爲JSON
		} catch (JsonProcessingException e) {
			log.error(">>-----把List轉換成JSON格式出錯!------<<");
			e.printStackTrace();
		}
		log.info(rst);
		int totalCount=chanceBiz.getTotalCount();//全部記錄數
		StringBuilder sb = new StringBuilder(); //修正格式符合grid要求的json格式
		sb.append("{\"Rows\":");
		sb.append(rst);
		sb.append(",\"Total\":");
		sb.append(totalCount+"}");//追加全部記錄數到json
		rst = sb.toString();
		return rst;
	}
由於我使用的Spring MVC,對於 客戶端傳來的參數,在服務端在處理請求的方法的參數裏聲明同名的參數便可得到。


grid要求的json格式以下: code

{ xml

"Rows":[{"id":1,"name":"test1"},{"id":2,"name":"test2"}], 對象

"total":13 get

}

"Rows" R 不能小寫哦。。

jackson下載地址:http://wiki.fasterxml.com/JacksonDownload

相關文章
相關標籤/搜索