2017-04-12 10 views
1

Ajaxを使用してMysqlテーブルからデータを取得するBootgridテーブルを実装していますが、すべて正常に動作しますが、最後のカラムとプリント結果を最後の行に合計しようとしています。フッター。誰にどのメソッドを呼び出さなければならないか、どのようにしてこれに到達できるかを知っていますか?Bootgrid sumカラムとその結果をフッタに表示

答えて

0

私も同様の経験がありました。loadedイベントハンドラを使用して手動で計算するのが最善の方法です。ここでは2列のqte &の値を仮定しています。 *価格):

var bootGrid = ('#grid'); 

bootGrid.bootgrid({ 
    ajax: true, 
    url: 'json' 
    ,multiSort:true 
    // other options... 
    ,labels: { 
      infos: '<h3>Total: <b><span id="totalAmount"></span></b></h3><p>Showing {{ctx.start}} to {{ctx.end}} of {{ctx.total}} entries</p>', 
    } //labels 
}).on("loaded.rs.jquery.bootgrid", function(){ 
    // dynamically find columns positions 
    var indexQte = -1; 
    var indexPrice = -1; 
    $(bootGrid).find('th').each(function(e){ 
     if ($(this).attr('data-column-id') == 'qte'){ 
      indexQte = e; 
     } else if ($(this).attr('data-column-id') == 'price'){ 
      indexPrice = e;   
     } 
    }); 
    var totalAmount = 0.0; 
    $(bootGrid).find('tbody tr').each(function() { 
     var qte = 0.0; 
     var price = 0.0; 
     // loop through rows 
     $(this).find('td').each(function(i){ 
      if (i == indexQte){ 
       qte = parseFloat($(this).text()); 
      } else if (i == indexPrice){ 
       price = parseFloat($(this).text()); 
      } 
     }); 
     totalAmount += qte * price; 
    }); 
    $('#totalAmount').text(totalAmount.toFixed(2)); 

}); 

希望すると便利です。