有一个数据表使用" serverside pagination",麻烦是由于某种原因它的总计数设置为99,999,999。这里看起来如何。
实际上有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页?
答案 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
}