我试图创建一个带有分页的Dynatable示例,为此,我创建了一个html文件和一个使用Ajax加载的json,直接来自与html文件相同的目录。
数据正确呈现,te页脚说:"显示5条记录中的5条(从45条记录中过滤掉)",这也没关系。问题是右边的链接,只显示1页,它应显示9页。
这是html内容:
<body>
<div class="dynatable-demo">
<table id="my-ajax-table" class="table table-bordered hoverTable">
<thead>
<tr>
<th data-dynatable-column="idturno" data-dynatable-no-sort="true">Id Turno</th>
<th data-dynatable-column="accessionnumber">Accesion Number</th>
<th data-dynatable-column="apellidopaterno">Apellido Paterno</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
<script>
$('#my-ajax-table').dynatable({
dataset: {
ajax: true,
ajaxOnLoad: true,
ajaxUrl: 'consulta.json',
records: [],
perPageDefault: 5,
perPageOptions: [5,10,100]
}
});
</script>
这里是&#34; consulta.json&#34;文件:
{
"records": [
{
"idturno": "88",
"accessionnumber": "24471579",
"apellidopaterno": "DORATO^PABLO EZEQUIEL"
},
{
"idturno": "89",
"accessionnumber": "0001",
"apellidopaterno": "apepaterno"
},
{
"idturno": "90",
"accessionnumber": "0002",
"apellidopaterno": "apepaterno"
},
{
"idturno": "91",
"accessionnumber": "0003",
"apellidopaterno": "apepaterno"
},
{
"idturno": "92",
"accessionnumber": "0004",
"apellidopaterno": "apepaterno"
}
],
"queryRecordCount": 5,
"totalRecordCount": 45
}
答案 0 :(得分:0)
在代码
中添加此内容$('#my-ajax-table').dynatable({
dataset: {
ajax: true,
ajaxOnLoad: true,
ajaxUrl: 'consulta.json',
records: [],
perPageDefault: 5,
perPageOptions: [5, 10, 100]
},
features: {
paginate: true,
sort: true,
pushState: false,
search: true,
recordCount: true,
perPageSelect: true
}
});
答案 1 :(得分:0)
配置分页参数后,请确保您的JSON正在返回&quot; queryRecordCount&#39; AND&#39; totalRecordCount&#39;字段。
答案 2 :(得分:0)
在查看了消息来源后,我也遇到了同样的问题。
pages = Math.ceil(settings.dataset.queryRecordCount / settings.dataset.perPage)
queryRecordCount被除以perPage,因此等于单个页面。
它应该实际上是该位置的 totalRecordCount 。也许问题只在于ajax。将 queryRecordCount 更改为 totalRecordCount ,对我来说很好。
答案 3 :(得分:0)
queryRecordCount和totalRecordCount与此查询相同。 应该是
"queryRecordCount": 45,
"totalRecordCount": 45
仅在过滤查询(?搜索)上有所不同