如何根据行值计算DataTable中的行数

时间:2015-02-11 09:19:38

标签: javascript datatable

我有一个数据表,我在其中存储一些数据。现在我需要的是我想根据行值来计算行数。如何实现。我发​​布了我的dataTable代码

$("div.loader").show();
$("#backgroundPopup").show();
$("#backgroundPopup").css("opacity", "0.7");
var url = "<%=byopenjobResourceURL%>";
var type = "onLoadForByOpenJob";
var createTable = '<table id="mainTable" class="display"><thead><tr><th>Create Date</th><th>Job Order</th><th>ID</th><th>Owner</th><th>Client</th><th>Value</th><th>Product</th></thead><tbody>';
var totalActivities = '0';

jQuery.getJSON(url+"&type="+type, function(data) {

    for(var z=0; z<data.searchResultArray.length;z++){
        searchResultArray = data.searchResultArray[z].split("$$##$$##");    
        createTable = createTable + "<tr><td>"+searchResultArray[0]+"</td><td>"+searchResultArray[1]+"</td><td>"+searchResultArray[2]+"</td><td>"+searchResultArray[3]+"</td><td>"+searchResultArray[4]+"</td><td>"+searchResultArray[5]+"</td><td>"+searchResultArray[6]+"</td></tr>";         


    }



$('#mainTable').dataTable({
        "scrollY":        300,
        "scrollCollapse": true,
        "jQueryUI":       true,
        "aaSorting": []
    });

enter image description here

如何实现这一目标?让我说我想根据其内容来计算产品列。我想知道有多少搜索 - Contigent就在那里

1 个答案:

答案 0 :(得分:0)

这是你在表格中总结行的方法

<table id="mainTable" class="display">
  <thead>
    <tr>
      <th>Create Date</th>
      <th>Job Order</th>
      <th>ID</th>
      <th>Owner</th>
      <th>Client</th>
      <th>Value</th>
      <th>Product</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>1</td>
      <td>1</td>
      <td>1</td>
      <td>1</td>
      <td>1</td>
      <td>1</td>
    </tr>
    <tr>
      <td>1</td>
      <td>1</td>
      <td>1</td>
      <td>1</td>
      <td>1</td>
      <td>1</td>
    </tr>
  </tbody>
</table>
<script type="text/javascript">
  function sumTable() {
    var rows = $('tbody tr'),
      result = [],
      sumLine = $('<tr>');
    rows.each(function(index, item){
      $(item).find('td').each(function(index, cell){
        if(!result[index]) { result[index] = 0; }
        result[index] += cell.innerText *1; 
      });
    });
    $.each(result, function(index, item) {
      var cell= $('<td>'); 
      cell.text(item);
      sumLine.append(cell);     
    });
    $('tbody').append(sumLine);
  }
  sumTable();
</script>

首先遍历tbody中的所有行,然后遍历每个td的每个行循环并将内容加到数组中。最后添加了哪个。您也可以只获取数组的总和,而不是将其作为一行添加到表的末尾。