2017-09-21 84 views
0

我正在使用DataTables 1.19來分頁,主要是爲了優化一個包含超過2000條記錄的表格。DataTables:條目顯示不起作用

一切工作正常,唯一的問題是,數據表說:「顯示1到2001的10項」

當實際顯示500每頁多,這裏是一個screenshot

代碼:

jQuery的數據表:

url = location.search; 

         var table = $('.data-table').dataTable({ 
          "bJQueryUI": true, 
          "sPaginationType": "full_numbers", 
          "sDom": '<""lri>t<"F"fp>', 
          "aaSorting": [], 
          "bServerSide": true, 
          "bProcessing": true, 
          "sAjaxSource": "/ledger/ajax"+url, 
          "fnServerParams": function(aoData) { 
          }, 
          "fnRowCallback": function(nRow, aData, iDisplayIndex) { 
//        console.log(nRow); 
//        console.log(aData); 
           $('td:eq(1)', nRow).css('text-align', 'right'); 
           $('td:eq(2)', nRow).css('text-align', 'right'); 
           $('td:eq(3)', nRow).css('text-align', 'right'); 
           $('td:eq(4)', nRow).css('text-align', 'right'); 
           $('td:eq(5)', nRow).css('text-align', 'right'); 
           $('td:eq(6)', nRow).css('text-align', 'right'); 

          }, 
          "oLanguage": { 
           "sUrl": "/js/language/" + js_lang + ".txt" 
          }, 
          "bStateSave": true 
         }); 

Here是Ajax響應的一個簡短的預覽。

我感謝每一個評論。謝謝!

+1

已啓用bServerSide:真。因此,也許您的serverside會爲iTotalRecords和iTotalDisplayRecords返回錯誤的數字。 –

回答

0

您是否嘗試過設置頁面長度?

"iDisplayLength": 50 

我知道的默認值應該是10,但不妨一試...

而且我看到你正在使用的服務器端處理...在PHP的也許答案裏邊反文件的格式有一些錯誤。如果可以,請粘貼答案(不是所有行都需要,只是開始和結束)。

0

我剛修好它。問題是,爲了用數據創建AJAX查詢,我創建了一個數據集合,而不是直接從數據庫查詢(我沒有使用Datatable :: query($ data)),所以我的AJAX響應語法是錯誤。

我不得不這樣做是爲了解決AJAX響應的結構:

public function getAjax() 
    { 
     $inputs = Input::only(['period','date_start', 'date_end', 'grupoContable']); 
     $inputs = array_filter($inputs); 

     $results = $this->calculateAsientos($inputs); 

     $collection = new \Illuminate\Database\Eloquent\Collection; 

     foreach($results as $result) { 
      $collection->add($result); 
     } 


     return Datatable::collection($collection) 
      ->showColumns( 'fecha', 'comentarios', 'line_cargo', 'line_abono', 'nombreCuentaContable', 'cuentaContable') 
      ->searchColumns( 'fecha', 'comentarios', 'line_cargo', 'line_abono', 'nombreCuentaContable', 'cuentaContable') 
      ->orderColumns( 'fecha', 'cuentaContable', 'nombreCuentaContable', 'comentarios', 'line_cargo', 'line_abono') 
      ->make(); 
    }