2011-12-10 122 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擴展控件,甚至更好的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>