Я использую EasyUI вместе с портлетом Liferay MVC. Я применил файловую картографию серверов и фильтр DataGrid на одном и том же datagrid. Без фильтра DataGrid разбиение на страницы работает нормально. Но когда я применяю фильтр, на следующей странице страницы нет данных. После многих усилий я обнаружил, что в JS DataGrid-фильтр плагина (DataGrid-filter.js) они сделали этот код для пагинации:EasyUI Filter and serverside pagination jquery Conflict
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);
, тогда разбиение на страницы работает правильно, но затем фильтр ничего не отвечает. Как я могу решить эту проблему?