服务器端DataTable行计数功能仅返回当前页面的总数

时间:2019-05-14 14:24:31

标签: javascript datatable datatables

我将以下数据表设置为服务器端模式:

enter image description here

就像在页脚上看到的那样,行的总数为21。

但是,当我调用应返回行总数的函数时,它仅返回10,即当前页面的总数:

enter image description here

如何使它返回21而不是10?


这是数据表的客户端代码:

tableOcorrenciaAgendadosHoje = $('#tableOcorrenciaAgendadosHoje').DataTable({
    ajax: {
        url: "/Ocorrencia/GetOcorrencias",
        type: "POST",
        datatype: "json",
        data: function (d) {
            d.aba = "agendadosHoje";
        }
    },
    aoColumnDefs: [{
        orderable: false, aTargets: [0]
    }],
    order: [],
    columns: colunas,
    scrollX: true,
    scrollCollapse: true,
    fixedColumns: {
        leftColumns: 2,
    },
    language: {
        url: "/Content/js/Portuguese-Brasil.json"
    },
    serverSide: "true",
    processing: "true",
});

2 个答案:

答案 0 :(得分:1)

根据文档: https://datatables.net/reference/api/page.info()

以下情况适用于您的情况: $(table_id).DataTable().page.info().recordsTotal

答案 1 :(得分:0)

我找到了解决方案。我只是将以下函数添加到数据表中:

fnDrawCallback: function () {
    self.QtdOcorrenciasAgendadosHoje = this.api().page.info().recordsTotal;
}

即使更新表,它也总是返回记录总数。