2011-09-12 201 views
4

iv看到@Oleg的例子在jqgrid中的行總數,但我試圖應用它,它不會工作我有以下網格我需要計算它的金額值。JQgrid總金額排

colNames: ['ID', 'FTE', 'Workload'], 
    colModel: [ 
       { name: 'ID', index: 'ID', width: 200, align: 'left', hidden: true }, 

       { name: 'FTEValue', index: 'FTEValue', width: 200, align: 'left', formatter: 'number' }, 
       { name: 'Workload', index: 'Workload', width: 200, align: 'left' }, 



    caption: "Activity FTE", 
    gridview: true, 
    rownumbers: true, 
    rownumWidth: 40, 
    scroll: 0, 
    rowNum: 100, 
    sortname: 'ID', 
    pager: '#pager', 
    sortorder: "asc", 
    viewrecords: true, 
    autowidth: true, 
    height: '100%', 
    footerrow: true, 
    jsonReader: { root: "GridData", page: "CurrentPage", total: "TotalPages", records: "TotalRecords", repeatitems: false, id: "0" } 
}; 



DutyFTEGrid.prototype.SetupGrid = function (selector) { 
    jQuery(selector).html('<table id="grid"></table><div id="pager"></div>'); 
    var grid = jQuery("#grid").jqGrid(this.gridConfiguration); 

    jQuery("#grid").jqGrid('navGrid', '#pager', 
    { edit: false, add: false, search: false }, {}, {}, 
    { // Delete parameters 
     ajaxDelOptions: { contentType: "application/json" }, 
     mtype: "DELETE", 
     serializeDelData: function() { 
      return ""; 
     }, 
     onclickSubmit: function (params, postdata) { 
      params.url = serviceURL + 'DutyFTE(' + encodeURIComponent(postdata) + ')/'; 
     } 
    }); 

    var grid = $("#grid"); 
    var sum = grid.jqGrid('getCol', 'FTE', false, 'sum'); 
    grid.jqGrid('footerData', 'set', { DriverEn: 'Total FTE:', FTEValue: sum }); 
}; 

奧列格你的幫助,我已經試過你的例子,但它沒有工作出於某種原因。

回答

17

如果我理解你糾正你想要在頁腳放置getColfooterData方法:

var grid = $("#list"), 
    sum = grid.jqGrid('getCol', 'amount', false, 'sum'); 

grid.jqGrid('footerData','set', {ID: 'Total:', amount: sum}); 

getCol可用於從「量」柱,並且尊重計算所有數字的總和footerData您可以在'ID'列的下方放置文本「Total:」並在'amount'列的底部。

已更新:可能您遇到問題,因爲您將代碼放置在錯誤的位置。代碼最安全的地方是loadComplete事件處理程序。看看the demo

+0

謝謝你的男人,我累了,但我不知道爲什麼總是結果0! – Madi

+0

我錯誤與col名稱,無論如何,我把正確的一個現在和那裏沒有任何值出現,請注意:單元格內的值是浮動像0.3 – Madi

+0

@Madi:如果你想計算的數據爲浮動,你應該在列中定義float格式化程序。只需在'金額'欄中添加'formatter:'number''即可。如果不能幫助你應該用完整的jqGrid定義和測試數據附加你的問題。 – Oleg

0

總價格列:

//Count total for a price column 
var total = 0; 
$('#table tr').each(function(){ 

    //cells that contains the price 
    var tdprice = $(this).find("td:eq(2)").html(); 

    //Sum it up! 
    if (isNaN(tdprice)){ total += parseInt(tdprice); } 
}); 

alert(total + "$");