我是 jquery 数据表的新手,我有一个简单的函数,它调用 ajax 并将响应映射到数据表中,该函数可以工作,但是分页无法正常工作,任何建议都会很好。这是我的代码。
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"
} ]
});
}
我得到了输出,问题是,显示条目不起作用,我只有11条记录,我得到了1,2,3,4页码,应该只有1,2,只有10条记录需要在那里。我在这里错过了什么?
你必须添加这个,
"pagingType": "full_numbers",
"paging": true,
"lengthMenu": [10, 25, 50, 75, 100],
尝试在数据表声明中使用此属性
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
});
}
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
});
}