2013-12-16 43 views
2

我想在頁腳中添加一個Total。我知道如何添加一列的總和。但我的問題是如何獲得列時包含分鐘或小時的總和。這是當我有整數或浮點數:如何使用jqgrid從列中獲取總時間?

var workedTotal = jQuery("#list2").jqGrid('getCol', 'worked', false, 'sum'); 

$(this).jqGrid('footerData','set', 
{name:'TOTAL', worked:workedTotal}); 

正如我前面提到的,我想知道如何得到列的總和,當我有日期時間格式? thx

+0

我在列中有這樣的格式分鐘:「102:32」 – Chester

回答

0

getCol只能在列中使用號碼。若要使'sum'正確地與"102:32"之類的數據一起正常工作,則應將unformat函數(請參閱here)添加到列'worked'。該unformat功能分鐘和小時轉換成分鐘數和返回結果

unformat: function (cell) { 
    if (typeof cell !== "string") { 
     return 0; 
    } 
    // now we are sure that we work with strings and can use split 
    var arr = cell.split(); 
    if (arr.length === 2) { 
     // standard format of input string like "102:32" 
     var h = parseInt(arr[0], 10), m = parseInt(arr[1], 10); 
     if (!isNaN(h) && !isNaN(m)) { 
      return h * 60 + m; 
     } 
    } 
    return 0; // some exotic input data 
} 

我沒有測試上面的代碼,但我希望,如果你添加unformat到列'worked'的定義,然後

var workedTotalMin = jQuery("#list2").jqGrid('getCol', 'worked', false, 'sum'); 

會得到你的總分鐘數。您可以使用toFixed%在使用footerData之前的幾分鐘或幾小時內將結果轉換爲字符串。

相關問題