usePager: true//开启分页 不然grid底部的上一页下一页类似这样的按钮都没有
当usePager设置为true时,单击分页条上的按钮后所提交的请求中会默认多添加2个参数:page和pagesize,这俩参数不用手动自己添加,作为使用者,我们只要在服务器端接受这俩参数就可以了。
参数page:想得到第几页;
参数pagesize:每页显示多少条记录;也就是说在页面设置usePager:true 后,下面的工作就在服务器端进行了。
服务端拿到page和pagesize参数后,通过参数查询得到返回的结果后,还要手动查询总记录数;
因为我用AJAX的方式来实现填充Grid,并且这个grid接受的是JSON数据,这个json数据还有格式要求:
请参考我的服务端代码(只供参考):
@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因为我使用的Spring MVC,对于 客户端传来的参数,在服务端在处理请求的方法的参数里声明同名的参数即可获得。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; }
grid要求的json格式如下:
{
"Rows":[{"id":1,"name":"test1"},{"id":2,"name":"test2"}],
"total":13
}
"Rows" R 不能小写哦。。
jackson下载地址: