在Jquery Datatable中以编程方式设置totalPageCount(ver:1.10.6)

时间:2017-11-16 07:58:43

标签: jquery datatables

有一个数据表使用" serverside pagination",麻烦是由于某种原因它的总计数设置为99,999,999。这里看起来如何。

enter image description here

实际上有30条记录,只有前3页有行,因为Displaylength等于10,其余为空,因为TotalRecords设置为99,999,999

所以我需要使用javascript编辑它。 当我在控制台中键入$('#myTable).DataTable().context[0]时,有一些属性:

_iRecordsDisplay: 99999999
_iRecordsTotal: 99999999
json: aaData:(10) [{…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}], iTotalDisplayRecords:99999999 ,iTotalRecords:99999999,sEcho:"25"

所以我尝试了这些但不起作用;

asd.context[0].iRecordsDisplay=30
asd.context[0]._iRecordsTotal=30
$('#myTable').DataTable().page.len(10).draw();

我怎么告诉dt实际上有30条记录,所以只创建3页?

1 个答案:

答案 0 :(得分:0)

如果查看为服务器端处理提供的示例,您可以查看服务器代码返回的JSON。 https://datatables.net/examples/server_side/simple.html

FIT
FAT
FUTURE

要解决此问题,您必须使服务器端代码包含" recordsTotal"您的回复JSON中的属性。

PHP中的这样的东西:

{
  "draw": 11,
  "recordsTotal": 57,
  "recordsFiltered": 57,
  "data": [
    [
      "Airi",
      "Satou",
      "Accountant",
      "Tokyo",
      "28th Nov 08",
      "$162,700"
    ],
    [
      "Angelica",
      "Ramos",
      "Chief Executive Officer (CEO)",
      "London",
      "9th Oct 09",
      "$1,200,000"
    ],
//more rows here
}