jquery datatables分页不起作用

时间:2017-05-26 07:17:09

标签: jquery pagination datatables

我是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条记录需要在那里。我在这里想念的是什么?

3 个答案:

答案 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
    });
}