首页 文章

外部行过滤后重置Jquery Datatable分页

提问于
浏览
0

我有一些绑定到数据的静态数据 . 然后我使用jquery datatable.net插件将分页应用于表 .

现在我有外部过滤逻辑,它隐藏并显示行 . 我设法过滤所有页面上的记录 . 但有些我无法根据过滤后的记录重置分页(即页码) . 只有所有页面中的记录都消失了,但不会重置分页 . 例如早先我有100条记录和10页(每页10条记录),过滤后我有30条记录,所以我只能看到3页,而是看到所有10页,有些页面是空白的 .

我有以下代码:

function initSorting() {
var odatatable = $("#tblLoanPayment").DataTable({
    "sDom": '<p"top"><"bottom"><"clear">',
    paging: true,
    searching: false,
    ordering: true,
    select: false,
    lengthChange: false,
    pagingType: "full_numbers",
    "oLanguage": {
        "sInfo": "_START_ - _END_ of _TOTAL_",
        "oPaginate": {
            "sNext": ">",
            "sPrevious": "<",
            "sFirst": "<<",
            "sLast": ">>"
        }
    },
    "aaSorting": [],
    bInfo: false,
    "columnDefs": [{
        "targets": [2, 3, 4, 5],
        "orderable": false
    }]
});
return odatatable;
}

$(document).ready(function () {
    checkNEnableButton();
    var odatatable = initSorting();
    $(".chosen-select").change(function () {
        $('#tblLoanPayment').DataTable().destroy();
        //some add remove row logic here...
        initSorting();
    });
});

任何帮助表示赞赏 . 提前致谢 .

1 回答

  • 1

    我会将我的评论作为答案:我的建议是保持简单,不要创建和销毁表格 . 我会在document.ready()上创建表,并在更改下划线数据后调用draw() . 以下是我在申请中的表现:

    sortFilteredGridData();
    table.clear();
    table.rows.add(filteredGridData);
    table.draw();
    

    过滤的网格数据是一组数据 .

相关问题