对jquery easyui datagrid添加前台分页功能,java后台生成一个list集合并且转成json数据类型返回前台,前台代码如下
/**
* 前台分页* @param param
* @param success
* @param error
* @return
*/
function noPagerLoader(param,success,error){
var that = $(this);
var opts = that.datagrid("options");
if (!opts.url) {
return false;
}
var cache = that.data().datagrid.cache;
if (!cache) {
$.ajax({
type : opts.method,
url : opts.url,
data : param,
dataType : "json",
success : function (data) {
that.data().datagrid['cache'] = data;
success(bulidData(data));
},
error : function () {
error.apply(this, arguments);
}
});
} else {
success(bulidData(cache));
}
function bulidData(data) {
var temp = $.extend({},data);
var tempRows = [];
var start = (param.page - 1) * parseInt(param.rows);
var end = start + parseInt(param.rows);
var rows = data;
for (var i = start; i < end; i++) {
if(rows[i]){
tempRows.push(rows[i]);
}else{
break;
}
}
temp.rows = tempRows;
temp.total=data.length;
return temp;
}
}
datagrid的属性loader:noPagerLoader