我是jquery数据表的新手,我有一个简单的函数调用ajax并将响应映射到datatables,这是有效的,但是,分页不能正常工作,任何建议都会变得很大。这是我的代码。
function loadJson() {
$('#datatable')
.dataTable(
{
"bProcessing" : true,
"bPaginate" : true,
"bServerSide" : true,
"sServerMethod" : "GET",
"sAjaxSource" : "${pageContext.request.contextPath}/emi/calculate?jsonValue="
+ jsonData,
"sAjaxDataProp" : "",
"fnRowCallback" : function(nRow, aData,
iDisplayIndex) {
$("td:first", nRow).html(iDisplayIndex + 1);
return nRow;
},
"aoColumns" : [ {
"mData" : null
}, {
"mData" : "emiDate"
}, {
"mData" : "principle"
}, {
"mData" : "interestAmount"
}, {
"mData" : "emi"
}, {
"mData" : "loanOutstanding"
} ]
});
}
我得到this输出,问题是,显示条目不起作用,我只有11条记录,我得到1,2,3,4页码,应该只有1,2和10条记录需要在那里。我在这里想念的是什么?
答案 0 :(得分:0)
您必须添加此内容,
"pagingType": "full_numbers",
"paging": true,
"lengthMenu": [10, 25, 50, 75, 100],
答案 1 :(得分:0)
尝试在数据表声明中使用此属性
function loadJson() {
$('#datatable')
.DataTable(
{
"sServerMethod" : "GET",
"sAjaxSource" : "${pageContext.request.contextPath}/emi/calculate?jsonValue="
+ jsonData,
"sAjaxDataProp" : "",
"aoColumns" : [ {
"mData" : null
}, {
"mData" : "emiDate"
}, {
"mData" : "principle"
}, {
"mData" : "interestAmount"
}, {
"mData" : "emi"
}, {
"mData" : "loanOutstanding"
} ],
"bProcessing" : true,
"bPaginate" : true,
"bServerSide" : true
});
}
答案 2 :(得分:0)
https://stackoverflow.com/posts/38213104/revisions
您可以参考上面的链接。
我在EntityController
中使用以下代码。
public async Task<IActionResult> LoadDataAsync([FromForm]JqueryDataTablesParameters parameters)
{
var (data, filtered, total) = await GetAllAsync(parameters, "Id", "Code", "Name");
//Returning Json Data
return Json(new JqueryDataTablesResult<GradeDto>
{
Draw = parameters.Draw,
Data = data,
FilteredRecords = filtered,
TotalRecords = total
});
}