示意图如下(选中checkbox累加列Quantity中的数量):因为使用的服务器控件,所以只能采用这种方式,但是实现不了,用stringbuilder拼接也调试不了,不知道哪里错了。
现在貌似就一直循环实现不了,求大神帮忙!不知道还有没有其他更简单的方法。        protected void cbPick_CheckedChanged(object sender, EventArgs e)
        {
            try
            {                GridView gv = (GridView)gvDropShip;
                foreach (GridViewRow gvr in gvDropShip.Rows)
                {
                    
                    CheckBox cb = (CheckBox)gvr.FindControl("cbPick");
                                        StringBuilder script = new StringBuilder();
                    script.Append("if(this.checked){");
                    script.Append("var txt = document.getElementById('");
                    script.Append(txtTotalQty.ClientID);
                    script.Append("')");
                    script.Append("var rowIndex = this.parentElement.parentElement.rowIndex;");
                    script.Append("var gv = document.getElementById('");
                    script.Append(gv.ClientID);
                    script.Append("')");
                    script.Append("var val = gv.rows(rowIndex).cells(7).innerText;");
                    script.Append("document.getElementById('");
                    script.Append(txtTotalQty.ClientID);
                    script.Append("')");
                    script.Append("txt.value = Number(txt.value) + Number(val);}");
                    script.Append("else{");
                    script.Append("txt.value = Number(txt.value) - Number(val);}");
                    cb.Attributes.Add("onclick", script.ToString());
                }            }
            catch (Exception ex)
            {
                WriteLog("Caused by 'cbPickAll_CheckedChanged'. " + ex.Message, string.Empty, true, true);
                MessageBox("System Error: " + ex.Message);
            }
        }web上的就稍微截取点  意思下<asp:GridView ID="gvDropShip" runat="server" CssClass="gv" 
                                            AutoGenerateColumns="false" BorderWidth="0px" CellPadding="2" CellSpacing="1" 
                                            OnRowDataBound="gvDropShip_RowDataBound">
                                            <FooterStyle CssClass="gvFooterStyle" />
                                            <RowStyle CssClass="gvRowStyle" />
                                            <PagerStyle CssClass="gvPagerStyle" HorizontalAlign="Left" />
                                            <SelectedRowStyle CssClass="gvSelectedRowStyle" />
                                            <HeaderStyle CssClass="gvHeaderStyle" HorizontalAlign="Center" />
                                            <AlternatingRowStyle CssClass="gvAlternatingRowStyle" />
                                            <Columns>
                                                <asp:TemplateField HeaderStyle-CssClass="freeze" ItemStyle-CssClass="freeze">
                                                    <HeaderTemplate>
                                                        <asp:CheckBox ID="cbPickAll" runat="server" 
                                                            AutoPostBack="true" OnCheckedChanged="cbPickAll_CheckedChanged" />
                                                    </HeaderTemplate>
                                                    <ItemTemplate>
                                                        <asp:CheckBox ID="cbPick" runat="server" AutoPostBack="true" OnCheckedChanged="cbPick_CheckedChanged" />
                                                    </ItemTemplate>
                                                </asp:TemplateField>