Hi EVeryone,
Thankyou so much for helping me out and special thanks to Andrea and dharmendr for investing their time and effort to help me out.
i finally got the code to work by changing html to val in the script.
this is my working code once again thankyou so much.
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="SumGrid.aspx.cs" Inherits="SumGrid" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script>
// WRITE THE VALIDATION SCRIPT IN THE HEAD TAG.
function isNumber(evt) {
var iKeyCode = (evt.which) ? evt.which : evt.keyCode
if (iKeyCode != 46 && iKeyCode > 31 && (iKeyCode < 48 || iKeyCode > 57))
return false;
return true;
}
///tiral by fire
</script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript">
$(".calculate").live("keyup", function ()
{
var row = $(this).closest('tr');
var Subject1 = $(row).find('[id*=GtxtSubject1]');
var Subject2 = $(row).find('[id*=GtxtSubject2]');
var Subject3 = $(row).find('[id*=GtxtSubject3]');
if (!jQuery.trim($(Subject1).val()) == '' && !jQuery.trim($(Subject2).val()) == '' && !jQuery.trim($(Subject3).val()) == '')
{
if (!isNaN(parseFloat($(Subject1).val())) && !isNaN(parseFloat($(Subject2).val())) && !isNaN(parseFloat($(Subject2).val())))
{
$("[id*=GtxtTotal]", row).val(parseFloat($(Subject1).val()) + parseFloat($(Subject2).val()) + parseFloat($(Subject3).val()));
}
}
else
{
$(Subject1).val('');
$(Subject2).val('');
$(Subject2).val('');
}
var grandTotal = 0;
$("[id*=GtxtTotal]").each(function ()
{
grandTotal = grandTotal + parseFloat($(this).val());
});
$("[id*=lblGrandTotal]").html(grandTotal.toString());
});
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<table>
<tr>
<td>
<asp:GridView ID="CalGrid" runat="server" AutoGenerateColumns="false" ShowHeaderWhenEmpty="true" ShowFooter="true">
<Columns>
<asp:TemplateField HeaderText="Name">
<ItemTemplate>
<asp:TextBox ID="GtxtID" runat="server" TextMode="Number" ReadOnly="true" Text='<%#Eval("ID") %>'></asp:TextBox>
</ItemTemplate>
<FooterStyle HorizontalAlign="Right" />
<FooterTemplate>
<asp:Button ID="GbtnAdd" runat="server" Text="+" OnClick="GbtnAdd_Click" />
</FooterTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Subject 1">
<ItemTemplate>
<asp:TextBox ID="GtxtSubject1" CssClass="calculate" runat="server" onkeypress="calculate" AutoPostBack="false" Text='<%#Eval("Subject1") %>'></asp:TextBox>
</ItemTemplate>
<ItemStyle CssClass="Subject1" />
</asp:TemplateField>
<asp:TemplateField HeaderText="Subject 2">
<ItemTemplate>
<asp:TextBox ID="GtxtSubject2" CssClass="calculate" runat="server" onkeypress="javascript:return isNumber(event)" AutoPostBack="false" Text='<%#Eval("Subject2") %>'></asp:TextBox>
</ItemTemplate>
<ItemStyle CssClass="Subject2" />
</asp:TemplateField>
<asp:TemplateField HeaderText="Subject 3">
<ItemTemplate>
<asp:TextBox ID="GtxtSubject3" CssClass="calculate" runat="server" onkeypress="javascript:return isNumber(event)" AutoPostBack="false" Text='<%#Eval("Subject3") %>'></asp:TextBox>
</ItemTemplate>
<ItemStyle CssClass="Subject3" />
</asp:TemplateField>
<asp:TemplateField HeaderText="Total">
<ItemTemplate>
<asp:TextBox ID="GtxtTotal" runat="server" TextMode="Number" ReadOnly="true" ItemStyle-HorizontalAlign="Right" Text='<%#Eval("Total") %>'></asp:TextBox>
</ItemTemplate>
<ItemStyle CssClass="total" />
</asp:TemplateField>
</Columns>
</asp:GridView>
Grand Total :
<asp:Label ID="lblGrandTotal" runat="server" Text="0"></asp:Label>
</td>
</tr>
</table>
</div>
<div>
<table>
<tr>
<td>
<asp:Label ID="GlblGtotal" runat="server" Text=""></asp:Label>
</td>
</tr>
<tr>
<td>
<asp:Button ID="btnSubmit" runat="server" Text="Submit" OnClick="btnSubmit_Click" />
</td>
</tr>
</table>
</div>
</form>
</body>
</html>