<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的值时,上游的值也跟着改变
<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的值时,上游的值也跟着改变
建议使用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;
如下
<asp:TextBox ID="TextBox1" runat="server" onchange="calcTotal(this)" ></asp:TextBox>
但因前gridview中的textbox的值一改变的话,小计也改变。
得在前台写小计?
具体怎么实现?