【问题标题】:How to get number of rows in datatable after ajax loadajax加载后如何获取数据表中的行数
【发布时间】:2017-02-05 01:23:33
【问题描述】:
"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返回数据后如何获取数据表中的行数?

【问题讨论】:

    标签: ajax datatable


    【解决方案1】:

    如果您使用的是数据表 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 返回的对象数量。

    如果您想知道所有数据表中有多少行,包括所有页面中的所有行,您可以在 datatables 参数中执行此操作,但在 ajax 参数中:

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

    【讨论】:

    • ajax 加载后如何获取计数
    • 我更新了我的代码。您可以使用 dataSrc 参数尝试此操作。
    • 这将只返回 ajax 行数。不是每页数据表中的总行数。
    • 就我而言,ajax 行数也有帮助...我接受了你的回答
    • 优秀的解决方案
    【解决方案2】:

    只是为所有寻找如何在其他用例中访问 api 的人添加:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多