ligerui實(shí)現(xiàn)數(shù)據(jù)庫端分頁功能
LigerUI的兩種分頁方式
LigerUI的分頁方式有兩種:local和server。
如果數(shù)據(jù)量不是很大,就直接采用local分頁,一次性的把數(shù)據(jù)全部發(fā)送到前臺(tái)來,之后LigerUI自身的grid會(huì)自動(dòng)分頁。說一下total,在后臺(tái)傳送jsonString時(shí)傳送定義好的total(總條數(shù)),你可以定義多少都可以,但是到前臺(tái)它會(huì)自動(dòng)將總條數(shù)賦值給total,這是local下的方式。
而如果數(shù)據(jù)量很大,一次性加載直接不顯示數(shù)據(jù)或反應(yīng)很慢的,就需要用server分頁了,當(dāng)用server分頁時(shí),每次請(qǐng)求都會(huì)比local時(shí)多發(fā)送兩個(gè)參數(shù):page和pagesize,不需要自己去發(fā)送,只需要在后臺(tái)獲取就行,
intpage=Integer.parseInt(request.getParameter("page"));
intpagesize=Integer.parseInt(request.getParameter("pagesize"));
inttotal;
這時(shí)你可以把page和pagesize寫進(jìn)你的sql語句:
sql=".........";
sql+="limit"+(page*pagesize-pagesize)+","+pagesize;
這樣查出的結(jié)果放入jsonString中,這里要注意total了,total需要自己定義,需要自己重新查一下結(jié)果的總條數(shù)后賦值給total傳到頁面,其他的LigerUI會(huì)幫你搞定!
以下為實(shí)現(xiàn)部分內(nèi)容
============
1.js頁面
userGrid=$("#userGrid").ligerGrid({ method:'GET', height:580, width:'100%', usePager:true, columns:[ {display:Resource.userName,name:"userName",align:'left',width:100,minWidth:60}, {display:Resource.email,name:"email",align:'left',width:250,minWidth:60}, {display:Resource.deparentment,name:"deparentment",align:'left',width:100,minWidth:60}, //{display:Resource.password,name:"password",align:'left',width:100,minWidth:60}, {display:Resource.userType,name:"privilege",align:'left',width:100,minWidth:60, render:function(item){ varprivilege=item.privilege; if(privilege=='1'){ returnResource.tempUser; }elseif(privilege=='2'){ returnResource.commonUser; }elseif(privilege=='4'){ returnResource.advancedUser; }elseif(privilege=='8'){ returnResource.knowledgeManager; }elseif(privilege=='16'){ returnResource.administrator; } } }, {display:Resource.accountState,name:"accountState",align:'left',width:100,minWidth:60, render:function(item){ varaccountState=item.accountState; if(accountState=='1'){ returnResource.normal; }elseif(accountState=='2'){ returnResource.unactive; }elseif(accountState=='4'){ returnResource.stopped; } } }, {display:Resource.accountExpireDate,name:"accountExpireDate",align:'left',width:100,minWidth:60} ], url:$('#initPath').val()+'/UserController.do?method=getUserPaging&privilege=-1',//必須這樣,否則不能傳page等參數(shù) pageSize:10,rownumbers:true, |
2.action
publicModelAndViewgetUserPaging(DYRKBUseruser,HttpServletRequestrequest){ intpage=Integer.parseInt(request.getParameter("page")); intpagesize=Integer.parseInt(request.getParameter("pagesize")); if(user.getUserName()==null){ user.setUserName("");//空串時(shí)可以搜索到所有此類用戶 } Integerprivilege=user.getPrivilege(); if(privilege==-1){ user.setPrivilege(null); } List<DYRKBUser>userList=userService.getUserPaging(user,page,pagesize); inttotal=userService.getUserTotalNum(); Map<String,Object>model=newHashMap<String,Object>(1); model.put("Rows",userList);//數(shù)據(jù)要的就是Rows項(xiàng) model.put("Total",total); returnnewModelAndView(Constants.JSON_VIEW,model); } |
posted on 2013-11-01 10:41 順其自然EVO 閱讀(689) 評(píng)論(0) 編輯 收藏