如何在ajax加载后获取datatable中的行数

时间:2016-09-27 12:05:26

标签: ajax datatable

"ajax": {

        "url": "<%=request.getContextPath()%>/Home?value=getreqs5",
        "data": function ( json,callback) {
            var oTable = $('#fifth').dataTable();

            // Get the length
            var count=oTable.fnGetData().length;
         return json;
        }
      }

Ajax数据已在datatable中成功加载。但行数显示为零。在ajax返回数据后,如何获取数据表中的行数?

2 个答案:

答案 0 :(得分:7)

如果您使用的是数据表1.10,则可以使用

获取总行数
"ajax": {
     "url" : "<%=request.getContextPath()%>/Home?value=getreqs5",
     "dataSrc": function(res){
         var count = res.data.length;
         alert(count);

         return res.data;
     }
}

使用dataSrc,您可以获得ajax成功回调。在此回调中,您可以计算比Ajax返回的对象数。

如果您想知道所有Datatable中包含的行数,包括所有页面中的所有行,您可以在datatables参数中执行此操作,但输出ajax参数:

"initComplete": function(settings, json){ 
     var info = this.api().page.info();
     alert('Total records', info.recordsTotal);
 }

答案 1 :(得分:0)

只需添加所有在其他用例中寻找如何使用api的人:

var table = $("#myTable").dataTable();   
table.on('draw', function (data) {
    console.log(table.page.info().recordsDisplay);
});