2017-09-21 48 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(); 
    }