1、创建分页的函数
2、首先判断传过来的数据是否为数组,获得表的详细信息
3、对页面的翻页、页面显示的数据条数进行定义
4、将本地的数据显示到页面当中,定义开始结束的页码。
// 分页数据的操作
function pagerFilter(data) {
if (typeof data.length == 'number' && typeof data.splice == 'function') { // 判断数据是否为数组
data = {
total : data.length,
rows : data
}
}
var dg = $(this); // 返回一个jQuery对象,this返回的是html对象;$(this)返回的是jQuery对象
// alert($(this));
// alert(this);
var opts = dg.datagrid('options');// 得初始化datagird时的option(包括行高、表头信息、等等)对象
// console.log(opts);
var pager = dg.datagrid('getPager'); // 得到当前页面信息条数
// console.log(pager);
pager.pagination({
onSelectPage : function(pageNum, pageSize) {
opts.pageNumber = pageNum;
opts.pageSize = pageSize;
pager.pagination('refresh', {
pageNumber : pageNum,
pageSize : pageSize
});
dg.datagrid('loadData', data);
}
});
if (!data.originalRows) {
data.originalRows = (data.rows); // (data.rows:获取当前页所有行)
// (data.originalRows:本地的数据)
}
var start = (opts.pageNumber - 1) * parseInt(opts.pageSize); // 定义了开始的页码数
var end = start + parseInt(opts.pageSize);
data.rows = (data.originalRows.slice(start, end)); // 数据的行数用slice方法,slice方法可以从已有的数组中返回选定的元素,返回一个新的数组,包含从start到end(不包含该元素)的data.originalRows中的元素。如果end未被规定,那么slice方法会选取从start到数组结尾的所有元素
return data;
}
}