DataTables无限滚动1.10

时间:2016-11-24 14:51:36

标签: jquery datatables datatables-1.10

将DataTables更新为1.10后,bScrollInfinite被新扩展名Scroller取代。问题是Scroller正在使用表格div中的虚拟滚动条。我想用MAIN BROWSER滚动条创建简单的(我知道,无限卷轴有很多麻烦)无限滚动。

目前,我有类似的东西:

var dataTable = $('#data-table').DataTable({
    serverSide: true,
    pageLength: 100,
    searching: true,
    fixedHeader: {
        header: true,
        headerOffset: 50
    },
    ajax: {
        url: '/url',
        method: 'POST'
    },
    columns: [ 'col1', 'col2' ],
});

$(window).scroll(function() {
    if ($(window).scrollTop() + $(window).height() == $(document).height()) {
        console.log("bottom!");
        dataTable.page('next').draw('page');
    }
});

这样可以正常工作,但它会用新行(来自新页面)替换现有行。我已经尝试了成功回调Ajax调用和rows()。添加(...)。draw()方法但是在触发draw()之后,我得到了无限循环(因为 draw 调用Ajax)而不是无限滚动:(

基本上,我需要在表的末尾添加新行,而不是替换现有的行。

顺便说一下,类似的问题是posted to DataTables forum,但没有有用的答案。

1 个答案:

答案 0 :(得分:0)

table.datatable({      
      iDisplayLength: 25,
      serverSide: true,
      ordering: false,
      searching: false,
      sAjaxSource: //url here,
      scrollY: 1014 //can be any value,
      scroller: {
        loadingIndicator: true
      }
}

这是可行的,但有一件事你应该记住包括SCROLLER PLUGIN。它不是jquery.datatables.js

的一部分