当我试图展示" 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
,则所有条目都会正确显示。
有什么想法吗?
答案 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 );
}