I am having textbox UserControl inside gridview
It generates id like
ContentPlaceHolder1_gvDetails_txtPcs_1_txtTextBox_1
i am not able to calculate running total it gives NaN
<asp:UpdatePanel ID="GridViewUpdtPanel" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:GridView ID="gvDetails" DataKeyNames="Entryid" runat="server" AutoGenerateColumns="false"
ShowFooter="true" OnRowCancelingEdit="gvDetails_RowCancelingEdit" OnRowDeleting="ColInfo_DeleteEntry"
OnRowEditing="gvDetails_RowEditing" OnRowUpdating="gvDetails_RowUpdating" OnRowDataBound="gvDetails_RowDataBound"
OnRowCommand="gvDetails_RowCommand" CssClass="EU_DataTable">
<Columns>
<asp:TemplateField>
<EditItemTemplate>
<asp:ImageButton ID="imgbtnUpdate" CommandName="Update" runat="server" ImageUrl="~/Images/update.jpg"
ToolTip="Update" Height="20px" Width="20px" />
<asp:ImageButton ID="imgbtnCancel" runat="server" CommandName="Cancel" ImageUrl="~/Images/Cancel.jpg"
ToolTip="Cancel" Height="20px" Width="20px" />
</EditItemTemplate>
<ItemTemplate>
<asp:ImageButton ID="imgbtnEdit" CommandName="Edit" runat="server" ImageUrl="~/Images/Edit.jpg"
ToolTip="Edit" Height="20px" Width="20px" />
<asp:ImageButton ID="imgbtnDelete" CommandName="Delete" Text="Edit" runat="server"
ImageUrl="~/Images/delete.jpg" ToolTip="Delete" Height="20px" Width="20px" OnClick="ColInfo_DeleteEntry"
CommandArgument='<%# Eval("Entryid")%>' />
</ItemTemplate>
<FooterTemplate>
<asp:ImageButton ID="imgbtnAdd" runat="server" ImageUrl="~/Images/AddNewitem.jpg"
CommandName="AddNew" Width="30px" Height="30px" ToolTip="Add new" ValidationGroup="validaiton" />
</FooterTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="ItemName">
<EditItemTemplate>
<ucst1:SearchTextBox ID="txtItemName" CssClass="txtItemName" runat="server" Text='<%#Eval("ItemName") %>'
SetProcedure="GetItem_Pager" />
</EditItemTemplate>
<ItemTemplate>
<ucst1:SearchTextBox ID="txtItemName" runat="server" SetProcedure="GetItem_Pager"
Text='<%#Eval("ItemName") %>' SetEnable="false" />
</ItemTemplate>
<FooterTemplate>
<ucst1:SearchTextBox ID="txtItemName" runat="server" SetProcedure="GetItem_Pager"
Text='<%#Eval("ItemName") %>' />
</FooterTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Design">
<EditItemTemplate>
<ucst1:SearchTextBox ID="txtDesign" CssClass="txtDesign" runat="server" Text='<%#Eval("Design") %>'
SetProcedure="GetDesign_Pager" />
</EditItemTemplate>
<ItemTemplate>
<ucst1:SearchTextBox ID="txtDesign" runat="server" SetProcedure="GetDesign_Pager"
Text='<%#Eval("Design") %>' SetEnable="false" />
</ItemTemplate>
<FooterTemplate>
<ucst1:SearchTextBox ID="txtDesign" runat="server" SetProcedure="GetDesign_Pager"
Text='<%#Eval("Design") %>' />
</FooterTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Party Design">
<EditItemTemplate>
<uc1:etTextbox ID="txtPartyDesign" runat="server" SetAutoPostBack="false" Width="50"
Text='<%#Eval("PartyDesign") %>' />
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="lblPartyDesign" CssClass="txtPartyDesign" runat="server" Width="50"
Text='<%#Eval("PartyDesign") %>' />
</ItemTemplate>
<FooterTemplate>
<uc1:etTextbox ID="txtPartyDesign" runat="server" SetAutoPostBack="false" Width="50"
Text='<%#Eval("PartyDesign") %>' />
</FooterTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Barcode">
<EditItemTemplate>
<asp:Label ID="lblBarcode" CssClass="txtBarcode" runat="server" Width="50" Text='<%#Eval("Barcode") %>' />
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="lblBarcode" CssClass="txtBarcode" runat="server" Width="50" Text='<%#Eval("Barcode") %>' />
</ItemTemplate>
<FooterTemplate>
<asp:Label ID="lblBarcode" CssClass="txtBarcode" runat="server" Width="50" Text="0" />
</FooterTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Per">
<EditItemTemplate>
<asp:Label ID="lblPer" CssClass="ddlPer" runat="server" Text='<%#Eval("Per") %>' />
<ucdd1:etDropdown ID="txtPer" runat="server" />
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="lblPer" CssClass="ddlPer" runat="server" Text='<%#Eval("Per") %>' />
<ucdd1:etDropdown ID="txtPer" runat="server" Visible="false" />
</ItemTemplate>
<FooterTemplate>
<asp:Label ID="lblPer" CssClass="ddlPer" runat="server" Text='<%#Eval("Per") %>' />
<ucdd1:etDropdown ID="txtPer" runat="server" />
</FooterTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Pcs">
<EditItemTemplate>
<uc1:etTextbox ID="txtPcs" runat="server" SetAutoPostBack="false" SetMask="#####0.00"
AllowedKeys="NUMERIC" Width="40" Text='<%#Eval("Pcs") %>' />
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="lblPcs" runat="server" Style="text-align: right;" Width="40" Text='<%#Eval("Pcs") %>' />
</ItemTemplate>
<FooterTemplate>
<uc1:etTextbox ID="txtPcs" runat="server" SetAutoPostBack="false" SetMask="#####0.00"
AllowedKeys="NUMERIC" Width="40" />
<%-- <asp:CustomValidator ID="cvNumeric" runat="server" ForeColor="Red" ErrorMessage="Please enter numeric values."
OnServerValidate="Validate_Numeric" ControlToValidate="txtPcs"></asp:CustomValidator>--%>
</FooterTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Rate">
<EditItemTemplate>
<uc1:etTextbox ID="txtRate" runat="server" SetAutoPostBack="false" SetMask="#####0.00"
AllowedKeys="NUMERIC" Width="40" Text='<%#Eval("Rate") %>' />
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="lblRate" runat="server" Style="text-align: right;" Width="40" Text='<%#Eval("Rate") %>' />
</ItemTemplate>
<FooterTemplate>
<uc1:etTextbox ID="txtRate" Width="30" runat="server" SetMask="#####0.00" AllowedKeys="NUMERIC" />
<%-- <asp:RegularExpressionValidator ID="rfvRate" runat="server" ControlToValidate="txtRate"
Text="*" ValidationGroup="validaiton" ValidationExpression="^\d+$" />--%>
</FooterTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Amount">
<EditItemTemplate>
<asp:Label ID="lblAmount" runat="server" Style="text-align: right;" Width="40" Text='<%#Eval("Amount") %>' />
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="lblAmount" runat="server" Style="text-align: right;" Width="40" Text='<%#Eval("Amount") %>' />
</ItemTemplate>
<FooterTemplate>
<asp:Label ID="lblAmount" runat="server" Style="text-align: right;" Width="40" Text="0" />
</FooterTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
var prm = Sys.WebForms.PageRequestManager.getInstance();
if (prm != null) {
prm.add_endRequest(function (sender, e) {
if (sender._postBackSettings.panelsToUpdate != null) {
$("[id*=txtPcs]").on("change", null, function () {
if (isNaN(parseInt($(this).val()))) {
$(this).val('0');
var row = $(this).closest("tr");
var Total = parseFloat($("[id*=txtPcs_txtTextBox]", row).val()) * parseFloat($("[id*=txtRate_txtTextBox]", row).val())
$("[id*=lblAmount]", row).html(parseFloat(Total).toFixed(0) + ".00");
var grandTotal = 0;
$("[id*=lblAmount]").each(function () {
grandTotal = grandTotal + parseFloat($(this).html());
});
$("[id*=oNetAmt]").html(" Net Amount : " + grandTotal.toString() + ".00");
} else {
$(this).val(parseInt($(this).val()).toString());
}
});
$("[id*=txtPcs]").on("keyup", null, function () {
var totalPcs = 0;
if (!jQuery.trim($(this).val()) == '') {
if (!isNaN(parseFloat($(this).val()))) {
var row = $(this).closest("tr");
totalPcs = parseFloat($("[id*=txtPcs_txtTextBox]", row).val());
//alert(parseFloat($("[id*=txtRate_txtTextBox]", row).val()));
var Total = parseFloat($("[id*=txtPcs_txtTextBox]", row).val()) * parseFloat($("[id*=txtRate_txtTextBox]", row).val())
$("[id*=lblAmount]", row).html(parseFloat(Total).toFixed(0) + ".00");
}
} else {
$(this).val('');
}
var grandTotal = 0;
$("[id*=lblAmount]").each(function () {
grandTotal = grandTotal + parseFloat($(this).html());
});
$("[id*=lblPcs]").each(function () {
totalPcs = totalPcs + parseFloat($(this).html());
});
//alert(totalPcs);
$("[id*=oNetAmt]").html(" Net Amount : " + grandTotal.toString() + ".00");
$("[id$=oPcs]").html(" Total Pcs : " + totalPcs.toString() + ".00");
});
$("[id*=txtPcs]").on("blur", null, function () {
var totalPcs = 0;
if (!jQuery.trim($(this).val()) == '') {
if (!isNaN(parseFloat($(this).val()))) {
var row = $(this).closest("tr");
totalPcs = parseFloat($("[id*=txtPcs_txtTextBox]", row).val());
alert(parseFloat($("[id*=txtRate_txtTextBox]", row).val()));
var Total = parseFloat($("[id*=txtPcs_txtTextBox]", row).val()) * parseFloat($("[id*=txtRate_txtTextBox]", row).val())
$("[id*=lblAmount]", row).html(parseFloat(Total).toFixed(0) + ".00");
}
} else {
$(this).val('');
}
var grandTotal = 0;
$("[id*=lblAmount]").each(function () {
grandTotal = grandTotal + parseFloat($(this).html());
});
$("[id*=lblPcs]").each(function () {
totalPcs = totalPcs + parseFloat($(this).html());
});
//alert(totalPcs);
$("[id*=oNetAmt]").html(" Net Amount : " + grandTotal.toString() + ".00");
$("[id$=oPcs]").html(" Total Pcs : " + totalPcs.toString() + ".00");
});
$("[id*=txtRate]").on("change", null, function () {
if (isNaN(parseInt($(this).val()))) {
$(this).val('0');
var row = $(this).closest("tr");
var Total = parseFloat($("[id*=txtPcs_txtTextBox]", row).val()) * parseFloat($("[id*=txtRate_txtTextBox]", row).val())
$("[id*=lblAmount]", row).html(parseFloat(Total).toFixed(0) + ".00");
var grandTotal = 0;
$("[id*=lblAmount]").each(function () {
grandTotal = grandTotal + parseFloat($(this).html());
});
$("[id*=oNetAmt]").html(" Net Amount : " + grandTotal.toString() + ".00");
} else {
$(this).val(parseInt($(this).val()).toString());
}
});
$("[id*=txtRate]").on("keyup", null, function () {
var totalPcs = 0;
if (!jQuery.trim($(this).val()) == '') {
if (!isNaN(parseFloat($(this).val()))) {
var row = $(this).closest("tr");
var Total = parseFloat($("[id*=txtPcs_txtTextBox]", row).val()) * parseFloat($("[id*=txtRate_txtTextBox]", row).val())
$("[id*=lblAmount]", row).html(parseFloat(Total).toFixed(0) + ".00");
}
} else {
$(this).val('');
}
var grandTotal = 0;
$("[id*=lblAmount]").each(function () {
grandTotal = grandTotal + parseFloat($(this).html());
});
$("[id*=oNetAmt]").html(" Net Amount : " + grandTotal.toString() + ".00");
});
}
});
};
$(function () {
$("[id*=txtPcs]").val("0");
$("[id*=txtRate]").val("0");
});
$("[id*=txtPcs]").on("change", null, function () {
if (isNaN(parseInt($(this).val()))) {
$(this).val('0');
var row = $(this).closest("tr");
var Total = parseFloat($("[id*=txtPcs_txtTextBox]", row).val()) * parseFloat($("[id*=txtRate_txtTextBox]", row).val())
$("[id*=lblAmount]", row).html(parseFloat(Total).toFixed(0) + ".00");
var grandTotal = 0;
$("[id*=lblAmount]").each(function () {
grandTotal = grandTotal + parseFloat($(this).html());
});
$("[id*=oNetAmt]").html(" Net Amount : " + grandTotal.toString() + ".00");
} else {
$(this).val(parseInt($(this).val()).toString());
}
});
$("[id*=txtPcs]").on("keyup", null, function () {
var totalPcs = 0;
if (!jQuery.trim($(this).val()) == '') {
if (!isNaN(parseFloat($(this).val()))) {
var row = $(this).closest("tr");
totalPcs = parseFloat($("[id*=txtPcs_txtTextBox]", row).val());
var Total = parseFloat($("[id*=txtPcs_txtTextBox]", row).val()) * parseFloat($("[id*=txtRate_txtTextBox]", row).val())
$("[id*=lblAmount]", row).html(parseFloat(Total).toFixed(0) + ".00");
}
} else {
$(this).val('');
}
var grandTotal = 0;
$("[id*=lblAmount]").each(function () {
grandTotal = grandTotal + parseFloat($(this).html());
});
$("[id*=lblPcs]").each(function () {
totalPcs = totalPcs + parseFloat($(this).html());
});
$("[id*=oNetAmt]").html(" Net Amount : " + grandTotal.toString() + ".00");
$("[id*=oPcs]").html(" Total Pcs : " + totalPcs.toString() + ".00");
});
$("[id*=txtRate]").on("change", null, function () {
if (isNaN(parseInt($(this).val()))) {
$(this).val('0');
var row = $(this).closest("tr");
var Total = parseFloat($("[id*=txtPcs_txtTextBox]", row).val()) * parseFloat($("[id*=txtRate_txtTextBox]", row).val())
$("[id*=lblAmount]", row).html(parseFloat(Total).toFixed(0) + ".00");
var grandTotal = 0;
$("[id*=lblAmount]").each(function () {
grandTotal = grandTotal + parseFloat($(this).html());
});
$("[id*=oNetAmt]").html(" Net Amount : " + grandTotal.toString() + ".00");
} else {
$(this).val(parseInt($(this).val()).toString());
}
});
$("[id*=txtRate]").on("keyup", null, function () {
if (!jQuery.trim($(this).val()) == '') {
if (!isNaN(parseFloat($(this).val()))) {
var row = $(this).closest("tr");
var Total = parseFloat($("[id*=txtPcs_txtTextBox]", row).val()) * parseFloat($("[id*=txtRate_txtTextBox]", row).val())
$("[id*=lblAmount]", row).html(parseFloat(Total).toFixed(0) + ".00");
}
} else {
$(this).val('');
}
var grandTotal = 0;
$("[id*=lblAmount]").each(function () {
grandTotal = grandTotal + parseFloat($(this).html());
});
$("[id*=oNetAmt]").html(" Net Amount : " + grandTotal.toString() + ".00");
});