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");
});