RSS

Multiplication of two columns in gridview and display the result in third column with footer dynamically

01 Sep

We can display the multiplication result of two column value in third column and net total in footer of gridview.

In .aspx page,

<asp:GridView ID=”GridView1″ runat=”server”>
<Columns>
<asp:TemplateField HeaderText=”Price”>
<ItemTemplate>
<asp:TextBox ID=”txtPrice” runat=”server” onkeyup=”GetSelectedRow(this)” ></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText=”Qty”>
<ItemTemplate>
<asp:TextBox ID=”txtQty” runat=”server” onkeyup=”GetSelectedRow(this)”></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText=”Total”>
<ItemTemplate>
<asp:Label ID=”lblTotal” runat=”server”></asp:Label>
</ItemTemplate>
<FooterTemplate>
<asp:Label ID=”Label1″ runat=”server” Text=”Total”></asp:Label>
</FooterTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>

In Javascript,

function GetSelectedRow(txt) {
var row = txt.parentNode.parentNode;
var price = Number(row.cells[0].getElementsByTagName(“input”)[0].value);
var qty = Number(row.cells[1].getElementsByTagName(“input”)[0].value);
var Total = price * qty;
row.cells[2].getElementsByTagName(“span”)[0].innerHTML = Total;
var NetTotal = 0;
var grid = document.getElementById(“<%=GridView1.ClientID%>”);
var gridLength = grid.rows.length;
for (i = 1; i < gridLength; i++) {
if (grid.rows[i].cells[0].colSpan == 1) {
if (typeof (grid.rows[i].cells[2].text) != ‘undefined’) // This checking is for to support in all browser
number = grid.rows[i].cells[2].text;
else if (typeof (grid.rows[i].cells[2].textContent) != ‘undefined’)
number = grid.rows[i].cells[2].textContent;
else if (typeof (grid.rows[i].cells[2].innerText) != ‘undefined’)
number = grid.rows[i].cells[2].innerText;
//if (!isNaN(number))
NetTotal = Number(NetTotal) + Number(number);
}
}
GrandTotal = Number(NetTotal) – Number(number);
var footerText = (grid.rows[gridLength – 1].cells[2]);
if (typeof (footerText.text) != ‘undefined’)
footerText.text = GrandTotal;
else if (typeof (footerText.textContent) != ‘undefined’)
footerText.textContent = GrandTotal;
else if (typeof (footerText.innerText) != ‘undefined’)
footerText.innerText = GrandTotal;
}
}

 
Leave a comment

Posted by on September 1, 2012 in C#.NET, VB.NET

 

Leave a comment