(function($) {
|
|
//pagerFilter方法是在page onSelectPage 事件之后执行,即页签改变之后
|
function pagerFilter(data) {
|
if($.isArray(data)) { // is array
|
data = {
|
total: sumDataNo, //后期:这里存放从webAPI接口传过来的总数量
|
rows: data //这个data 就是表格的数据集合
|
}
|
}
|
return data; //不用再进行整理剔除不再范围内的行数据
|
}
|
var sumDataNo = 0; //总行数量
|
var loadDataMethod = $.fn.datagrid.methods.loadData;
|
var deleteRowMethod = $.fn.datagrid.methods.deleteRow;
|
$.extend($.fn.datagrid.methods, {
|
clientPaging: function(jq, GetData) {
|
return jq.each(function() {
|
var dg = $(this);
|
var state = dg.data('datagrid');
|
var opts = state.options;
|
opts.loadFilter = pagerFilter;
|
var onBeforeLoad = opts.onBeforeLoad;
|
opts.onBeforeLoad = function(param) {
|
state.allRows = null;
|
return onBeforeLoad.call(this, param);
|
}
|
var pager = dg.datagrid('getPager');
|
pager.pagination({
|
onSelectPage: function(pageNum, pageSize) {
|
opts.pageNumber = pageNum;
|
opts.pageSize = pageSize;
|
pager.pagination('refresh', {
|
pageNumber: pageNum,
|
pageSize: pageSize
|
});
|
var dgData = GetData(dg, pageNum, pageSize);
|
dg.datagrid('loadData', dgData);
|
dg.datagrid('selectRow', 0);
|
}
|
//,
|
//onBeforeRefresh: function() {
|
// return true;
|
//}
|
//,
|
//onRefresh:function(pageNumber, pageSize){
|
// dg.datagrid('loadData', GetData());
|
// mui.toast("刷新后~");
|
//}
|
//,
|
//onChangePageSize:function(pageSize){
|
// mui.toast("选择~");
|
// dg.datagrid('selectRow', 0);
|
//}
|
});
|
$(this).datagrid('loadData', state.data);
|
if(opts.url) {
|
$(this).datagrid('reload');
|
}
|
});
|
},
|
loadData: function(jq, data) {
|
if(!data)
|
return;
|
jq.each(function() {
|
$(this).data('datagrid').allRows = null;
|
});
|
if(data.sumDataNo) {
|
sumDataNo = data.sumDataNo;
|
return loadDataMethod.call($.fn.datagrid.methods, jq, data.rows);
|
} else {
|
return loadDataMethod.call($.fn.datagrid.methods, jq, data);
|
}
|
},
|
deleteRow: function(jq, index) {
|
return jq.each(function() {
|
var row = $(this).datagrid('getRows')[index];
|
deleteRowMethod.call($.fn.datagrid.methods, $(this), index);
|
var state = $(this).data('datagrid');
|
if(state.options.loadFilter == pagerFilter) {
|
for(var i = 0; i < state.allRows.length; i++) {
|
if(state.allRows[i] == row) {
|
state.allRows.splice(i, 1);
|
break;
|
}
|
}
|
$(this).datagrid('loadData', state.allRows);
|
}
|
});
|
},
|
getAllRows: function(jq) {
|
return jq.data('datagrid').allRows;
|
}
|
// ,
|
// onLoadSuccess: function(jq) {
|
// $(this).datagrid('autoSizeColumn');
|
// }
|
});
|
//分页
|
// $.extend($.fn.pagination.defaults, {
|
// onBeforeRefresh: function() {
|
// alert("相背");
|
// return true;
|
// },
|
// onChangePageSize:function(pageSize){
|
//
|
// }
|
// });
|
|
})(jQuery);
|