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); 

然後分頁工作正常,但然後過濾器不響應任何東西。我該如何解決這個問題?

回答