数据表缺少最后一行

时间:2017-01-31 11:08:09

标签: jquery datatables

当我试图展示" All"我的数据表中的记录。 我使用Pipelining函数和我的Datatables和(管道除外)这是我的JS:

var dTable = $('#myTable').DataTable( {
    "processing": true,
    "serverSide": true,
    "bSortCellsTop": true,
    "autoWidth": false,
    "aLengthMenu": [
        [25, 50, 100, 500, -1],
        [25, 50, 100, 500, "All"]
    ],
    "iDisplayLength": 50,
    "order": [[ 10, "asc" ]],
    "dom": '<"top"<"dd-area">flp<"button-area">>rt<"bottom"flpi><"clear">',
    "ajax": $.fn.dataTable.pipeline( {
        url: '_handler.php?action='+action+'&cms='+curr_cms
    } ),
    "columns": [
        /* columns defined here */
    ],
    "columnDefs": [
        {
            "targets": ['_all'],
            "createdCell": function (td, cellData, rowData, row, col) {
                $(td).attr('title', $titles[col]);
            }
        }
    ],
    "search": "Search:",
    "zeroRecords": "No record found",
    "fnInitComplete" : function(oSettings, json) {
        /* code here */
    },
    "fnRowCallback": function( nRow, aData, iDisplayIndex, iDisplayIndexFull ) {
        /* code here */
    }
} );

使用&#34; All&#34;在长度菜单中选择,我得到Showing 1 to 337 of 338 entries

我已经检查了我的远程信号源并且所有338条记录都已正确发送,但是“数据”中的最后一项是&#39;数组未显示在前端表中。

如果我设置了bPaginate: false,则所有条目都会正确显示。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

如果您使用示例代码Pipelining of Datatable,则会出现错误。 你需要修改这一行

if ( requestLength >= -1 ) {
    json.data.splice( requestLength, json.data.length );
}

并删除相等的

if ( requestLength > -1 ) {
    json.data.splice( requestLength, json.data.length );
}