here i have written a nice code to calculate the total of grid and assign into footer with a simple logic. i think it will help.
function calculateGridTotal() {
var tmpgvRenewal = document.getElementById("gvRenewal");
var TotalRenewalAmount = 0.0;
var TotalDeductionAmount = 0.0;
var TotalInvoiceAmount = 0.0;
var arrstr = tmpgvRenewal.id + "_ctl";
for (var i = 2; i <= tmpgvRenewal.childNodes[0].childNodes.length - 1; i++) {
if (parseInt(i) < 10) {
var c = "0" + i;
}
else {
var c = i;
}
var lblRenewalAmount = document.getElementById(arrstr + c + "_lblRenewalAmount").innerHTML;
var lblDeductionAmount = document.getElementById(arrstr + c + "_lblDeductionAmount").innerHTML;
var lblInvoiceAmount = document.getElementById(arrstr + c + "_lblInvoiceAmount").innerHTML;
lblRenewalAmount = lblRenewalAmount.replace(/,/g, '');
lblDeductionAmount = lblDeductionAmount.replace(/,/g, '');
lblInvoiceAmount = lblInvoiceAmount.replace(/,/g, '');
if (lblRenewalAmount != "")
TotalRenewalAmount = TotalRenewalAmount + parseFloat(lblRenewalAmount);
if (lblDeductionAmount != "")
TotalDeductionAmount = TotalDeductionAmount + parseFloat(lblDeductionAmount);
if (lblInvoiceAmount != "")
TotalInvoiceAmount = TotalInvoiceAmount + parseFloat(lblInvoiceAmount);
}
tmpgvRenewal.rows[tmpgvRenewal.rows.length - 1].cells[2].innerHTML = TotalRenewalAmount;
tmpgvRenewal.rows[tmpgvRenewal.rows.length - 1].cells[3].innerHTML = TotalDeductionAmount;
tmpgvRenewal.rows[tmpgvRenewal.rows.length - 1].cells[4].innerHTML = TotalInvoiceAmount;
}