给你的grid控件添加个属性:
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 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格式如下:
{
"Rows":[{"id":1,"name":"test1"},{"id":2,"name":"test2"}],
"total":13
}
"Rows" R 不能小写哦。。