<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false" Width="100%">
            <Columns>
            
              <asp:BoundField  DataField="processcd" HeaderText="part"/>
                <asp:BoundField  DataField="num"   HeaderText="人数"/>
                
                <asp:BoundField  DataField="snum" HeaderText="上游"/>
                
                
                 <asp:TemplateField HeaderText="A">
                    <ItemTemplate>
                        <asp:TextBox ID="anum" runat="server" Text='<%#Eval("anum") %>' Width="50px"        onkeypress="KeyPress()"   ></asp:TextBox>
                    
                    </ItemTemplate>
                 </asp:TemplateField>
                 
                 
                 
                 <asp:TemplateField HeaderText="B+">
                 
                    <ItemTemplate>
                        <asp:TextBox ID="bnum" runat="server" Text='<%#Eval("bnum") %>' Width="50px"      onkeypress="KeyPress()"></asp:TextBox>
                    
                    </ItemTemplate>
                 </asp:TemplateField>
                 
                 <asp:TemplateField HeaderText="B">
                    <ItemTemplate>
                        <asp:TextBox ID="cnum" runat="server" Text='<%#Eval("cnum") %>' Width="50px"     onkeypress="KeyPress()"></asp:TextBox>
                    
                    </ItemTemplate>
                 </asp:TemplateField>
                 
                 
                  <asp:TemplateField HeaderText="C+">
                    <ItemTemplate>
                        <asp:TextBox ID="dnum" runat="server" Text='<%#Eval("dnum") %>' Width="50px"   onkeypress="KeyPress()"></asp:TextBox>
                    
                    </ItemTemplate>
                 </asp:TemplateField>
                 
                 
                 <asp:TemplateField HeaderText="C">
                    <ItemTemplate>
                        <asp:TextBox ID="enum" runat="server" Text='<%#Eval("enum") %>' Width="50px"    onkeypress="KeyPress()"></asp:TextBox>
                    
                    </ItemTemplate>
                 </asp:TemplateField>
                 
                 
                 
                <asp:BoundField  DataField="xnum" HeaderText="下游"/>
                 
                
                <asp:TemplateField HeaderText="C" HeaderStyle-CssClass="noDis" ControlStyle-CssClass ="noDis" ItemStyle-CssClass="noDis">
                    <ItemTemplate>
                        <asp:TextBox ID="getnum" runat="server" Text='<%#Eval("num") %>' Width="50px"></asp:TextBox>
                    
                    </ItemTemplate>
                 </asp:TemplateField>
                 
                 
                 
            </Columns>
            <HeaderStyle  BackColor="#43A102" ForeColor="#FFFF99" HorizontalAlign="center"/>
            </asp:GridView>后台已经绑定一些值,上游的值其实就是A 加上B+的值,怎么样在前台改变A的值时,上游的值也跟着改变

解决方案 »

  1.   

    模板列的计算
    建议使用js,下面是我自己用的一段js代码,需要计算的格子为'TextBox1'和'TextBox2' 结果显示在label3     function calcTotal(source)
         {
            var row_id = source.id.substr(0, source.id.lastIndexOf('_') + 1);
            var textbox1 = document.getElementById(row_id + 'TextBox1');
            var textbox2 = document.getElementById(row_id + 'TextBox2');
            var label = document.getElementById(row_id + 'label3');
            label.innerHTML = Number(textbox1.value) + Number(textbox2.value) -1;
      

  2.   

    需要在在textbox中写上onchange事件或者其它时间
    如下
    <asp:TextBox ID="TextBox1" runat="server"  onchange="calcTotal(this)" ></asp:TextBox>
      

  3.   

    根据hbh850121所给的代码  外边加个循环
      

  4.   

    知道 在后面用RowDataBound可以绑定小计
    但因前gridview中的textbox的值一改变的话,小计也改变。
    得在前台写小计?
    具体怎么实现?
      

  5.   

    不在gridview中写,在外面写?