2011-12-10 12 views
0

グリッドからデータベースへデータを挿入するテキストアイテムテンプレートをグリッドに持っています。実行時にポストバックを使用して数式を作成する必要があります。ベロー。GridView計算時に

For Each gvRow2 As GridViewRow In GridView1.Rows 
      Dim txtNetWt As TextBox = CType(gvRow2.FindControl("txtNetWt"), TextBox) 
      Dim txtGrossWt As TextBox = CType(gvRow2.FindControl("txtGrossWt"), TextBox) 
      Dim txtTareWt As TextBox = CType(gvRow2.FindControl("txtTareWt"), TextBox) 
      txtNetWt.Text = Val(txtGrossWt.Text) - Val(txtTareWt.Text) 

     Next 
+0

は、テキストボックスがItemTemplateにまたはEditeItemTemplateに追加されていますか? – adatapost

+0

これらはアイテムテンプレートに追加されています。総重量と風袋重量を入力したときに各行で計算したいのは、ポストバックページです。ありがとう –

+0

JavaScript(Ajax)を使用する必要があります。 – adatapost

答えて

0

あなたはAsp.Net Ajax Extensionコントロールを使用することができ、より良いjQueryを使用することもできます。コードを見て - JavaScriptがどのように機能するか:

マークアップ:

<head runat="server"> 
<title></title> 
<script type="text/javascript"> 
    function doThat(cells) { 
     var result = parseFloat(cells.childNodes[1].value) + parseFloat(cells.childNodes[3].value); 
     if (!isNaN(result)) 
      cells.childNodes[5].value = result; 
    } 
</script> 
</head> 
<body> 
<form id="form1" runat="server"> 
<div> 
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"> 
<Columns> 
    <asp:TemplateField> 
     <ItemTemplate> 
      <asp:TextBox ID="TextBox1" onchange="doThat(this.parentNode)" runat="server"> 
      </asp:TextBox> 
      <asp:TextBox ID="TextBox2" onchange="doThat(this.parentNode)" runat="server"> 
      </asp:TextBox> 
      <asp:TextBox ID="TextBox3" runat="server"></asp:TextBox> 
     </ItemTemplate> 
    </asp:TemplateField> 
</Columns> 
</asp:GridView> 
</div> 
</form>