0
我正在使用EasyUI以及Liferay MVC portlet。我在同一個數據網格上應用了服務器分頁和DataGrid過濾器。沒有過濾器DataGrid分頁工作正常。但是,當我應用過濾器時,分頁的下一頁上不會顯示任何數據。一個大量的努力後,我發現,在DataGrid的過濾器插件的JS(數據網格-filter.js),他們已經做了分頁驗證碼:EasyUI過濾器和serverside分頁jQuery衝突
if (opts.pagination){
var dg = $(this);
var pager = dg[name]('getPager');
pager.pagination({
onSelectPage:function(pageNum, pageSize){
opts.pageNumber = pageNum;
opts.pageSize = pageSize;
pager.pagination('refresh',{
pageNumber:pageNum,
pageSize:pageSize
});
//dg.datagrid('loadData', state.filterSource);
dg[name]('loadData', state.filterSource);
},
onBeforeRefresh:function(){
//dg('reload');
dg[name]('reload');
return false;
}
});
if (name == 'datagrid'){
var start = (opts.pageNumber-1)*parseInt(opts.pageSize);
var end = start + parseInt(opts.pageSize);
data.rows = data.rows.slice(start, end);
} else {
var topRows = [];
var childRows = [];
$.map(data.rows, function(row){
row._parentId ? childRows.push(row) : topRows.push(row);
});
data.total = topRows.length;
var start = (opts.pageNumber-1)*parseInt(opts.pageSize);
var end = start + parseInt(opts.pageSize);
data.rows = $.extend(true,[],topRows.slice(start, end).concat(childRows));
}
}
現在,如果我評論這一行:
dg[name]('loadData', state.filterSource);
然後分頁工作正常,但然後過濾器不響應任何東西。我該如何解決這個問題?