[DataTables分页器,显示很多时显示一页

问题描述 投票:0回答:1

我有一个问题,最初在this question中提出。我以为它起作用了,但不是这样。

我正在将数据表v1.10.19与jQuery 3.3.1和Bootstrap 3.3.7结合使用

现在,我的问题是,无论我拥有多少页数据,该寻呼机都会显示一个寻呼按钮(好像所有数据都放在一页上,而没有)。

我的配置对象如下:

        {
            "processing": true,
            "serverSide": true,
            "ajax": {
                url: url,
                type: ajax.requestPOST
            },
            "order": [[1, "asc"]],
            "lengthMenu": [[-1, 500, 1000, 2500, 5000], ["All", 500, 1000, 2500, 5000]],
            "columns": eventsSvr.grid.columns,
            "columnDefs": eventsSvr.grid.columnDefs,
            "language": $.extend({}, appDt.loadingSpinner, appDt.lengthMenuText),
            dom: 'ltp'
        }

我的返回有效载荷看起来像这样:

{
    "draw": 4,
    "recordsTotal": 3727,
    "recordsFiltered": 500,
    "data": [ big data array here ]
}

可以看出,该数据具有3700+行。页面大小为500。但是,网格只有1页。它有500行,并且寻呼机上没有按钮可移至任何后续页面。

因此,用户只能查看前500条记录。

关于寻呼机发生什么的任何想法?

datatables datatables-1.10
1个回答
0
投票

DataTables根据recordsFiltered和您的页面大小计算页面数。它包含应用过滤后的记录总数。

执行搜索时,recordsFiltered可能不等于recordsTotal

您的服务器端处理程序应在不应用搜索条件的情况下计算记录总数,并在recordsTotal中将其返回,然后在应用搜索条件后计算记录的总数并在recordsFiltered中将其返回。

这使DataTables在信息部分显示以下消息:

显示recordsFiltered个条目中的1到10(从recordsTotal个条目中过滤)

您可以在official documentation中以服务器端处理模式阅读更多有关返回数据的正确格式的信息。

© www.soinside.com 2019 - 2024. All rights reserved.