zoukankan      html  css  js  c++  java
  • GridView 用 checkbox 全选并取值


    方法一,用 js 实现

      <script type="text/javascript">
      //<![CDATA[
      function CheckAll(oCheckbox)
      {
       var GridView1 = document.getElementById("<%=GridView1.ClientID %>");
       for(i = 1;i < GridView1.rows.length-1; i++)
       {
        
        GridView1.rows[i].cells[0].getElementsByTagName("INPUT")[0].checked = oCheckbox.checked;
       }
      }
      
      //]]>
      </script>

     <asp:GridView ID="GridView1" runat="server" Font-Size="12px" BackColor="#FFFFFF"
                GridLines="Both" CellPadding="4" DataKeyNames="id" AutoGenerateColumns="false"  OnRowCancelingEdit="GridView1_RowCancelingEdit" OnRowDataBound="GridView1_RowDataBound" OnRowDeleting="GridView1_RowDeleting" OnRowEditing="GridView1_RowEditing" OnRowUpdating="GridView1_RowUpdating" AllowPaging="True" OnPageIndexChanging="GridView1_PageIndexChanging1">
                <HeaderStyle BackColor="#EDEDED" Height="26px" />
                <Columns>
                  <asp:TemplateField>
                    <HeaderTemplate>
                      <input id="Checkbox2" type="checkbox" onclick="CheckAll(this)" runat="server" /><label>全选</label>
                    </HeaderTemplate>
                    <ItemTemplate>
                      <asp:CheckBox ID="ItemCheckBox" runat="server" />
                    </ItemTemplate>
                  </asp:TemplateField>
                  <asp:TemplateField HeaderText="序号">
    <ItemTemplate>
    <%#Container.DataItemIndex + 1%>
    </ItemTemplate>
    </asp:TemplateField>
                    <asp:BoundField DataField="id" HeaderText="编号" ReadOnly="True" />
                    <asp:BoundField DataField="name" HeaderText="姓名" ReadOnly="True" />
                    <asp:TemplateField HeaderText="身份证号">
                        
                            <ItemTemplate>
                                <%#Eval("card") %>
                            </ItemTemplate>
                            
                            <EditItemTemplate>
                                <asp:TextBox ID="TBCard" Text='<%#Eval("card") %>' runat="server"></asp:TextBox>
                                <asp:RequiredFieldValidator ID="RequiredFieldValidator1" Display="Dynamic" ControlToValidate="TBCard" runat="server" ErrorMessage="请填写身份证号"></asp:RequiredFieldValidator>
                          
                            </EditItemTemplate>
                            
                        </asp:TemplateField>
                        
                        <asp:TemplateField HeaderText="学历">
             
                            <ItemTemplate>
                                <%#Eval("xueliText")%>
                            </ItemTemplate>
                            
                            <EditItemTemplate>
                            <asp:HiddenField ID="HDFXueli" runat="server" Value='<%#Eval("xueli") %>' />
                                <asp:DropDownList ID="DDLXueli" runat="server">
                                </asp:DropDownList>         
                            </EditItemTemplate>
                            
                        </asp:TemplateField>
                    
                        <asp:TemplateField HeaderText="价格">
                        
                            <ItemTemplate>
                                <%#Eval("price")%>
                            </ItemTemplate>
                            
                            <EditItemTemplate>      
                                 <asp:TextBox ID="TBPrice" Text='<%#Eval("price") %>' runat="server"></asp:TextBox>     
                            </EditItemTemplate>
                        
                        </asp:TemplateField>
              <asp:BoundField HeaderText="建立时间" DataField="createdate" ReadOnly="True" />
                   <asp:CommandField   ShowEditButton="True" HeaderText="修改" />
                   <asp:TemplateField HeaderText="删除">
                    <ItemTemplate>
                        <asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="False" CommandName="Delete"
                            Text="删除" OnClientClick="return confirm('您确认删除该记录吗?');"></asp:LinkButton>
                    </ItemTemplate>
                  </asp:TemplateField>
                </Columns>

     </asp:GridView>  

           

     在 .CS 中取值:

     pp


     protected void Button1_Click(object sender, EventArgs e)

     {
            this.Label1.Text = "";
           
            foreach (GridViewRow gvr in GridView1.Rows)
            {
                CheckBox ch = (CheckBox)gvr.FindControl("ItemCheckBox");
                if (ch.Checked)
                {
                    this.Label1.Text += "<li>GridView1 您选择的是(键值):" + GridView1.DataKeys[gvr.RowIndex].Value.ToString();
                  
                }
            }
           
        }


     方法二:

     <asp:GridView ID="GridView1" runat="server" AllowPaging="True" OnPageIndexChanging="GridView1_PageIndexChanging" OnRowCancelingEdit="GridView1_RowCancelingEdit" OnRowDataBound="GridView1_RowDataBound" OnRowDeleting="GridView1_RowDeleting" OnRowEditing="GridView1_RowEditing" OnRowUpdating="GridView1_RowUpdating" AutoGenerateColumns="False" DataKeyNames="id,name" DataMember="card,price">
                <Columns>
                <asp:TemplateField>
                    <HeaderTemplate>
                      <asp:CheckBox ID="CheckBox1" runat="server" Text="全选" AutoPostBack="true" OnCheckedChanged="CheckAll" />
                    </HeaderTemplate>
                    <ItemTemplate>
                      <asp:CheckBox ID="ItemCheckBox" runat="server" />
                    </ItemTemplate>
                  </asp:TemplateField>
                  <asp:TemplateField HeaderText="序号">
    <ItemTemplate>
    <%#Container.DataItemIndex + 1%>
    </ItemTemplate>
    </asp:TemplateField>
                    <asp:BoundField DataField="id" HeaderText="编号" ReadOnly="True" />
                    <asp:BoundField DataField="name" HeaderText="姓名" ReadOnly="True" />
                    
                        <asp:TemplateField HeaderText="身份证号">
                        
                            <ItemTemplate>
                                <%#Eval("card"%>
                            </ItemTemplate>
                            
                            <EditItemTemplate>
                                <asp:TextBox ID="TBCard" Text='<%#Eval("card") %>' runat="server"></asp:TextBox>
                                <asp:RequiredFieldValidator ID="RequiredFieldValidator1" Display="Dynamic" ControlToValidate="TBCard" runat="server" ErrorMessage="请填写身份证号"></asp:RequiredFieldValidator>
                          
                            </EditItemTemplate>
                            
                        </asp:TemplateField>
                        
                        <asp:TemplateField HeaderText="学历">
             
                            <ItemTemplate>
                                <%#Eval("xueliText")%>
                            </ItemTemplate>
                            
                            <EditItemTemplate>
                            <asp:HiddenField ID="HDFXueli" runat="server" Value='<%#Eval("xueli") %>' />
                                <asp:DropDownList ID="DDLXueli" runat="server">
                                </asp:DropDownList>         
                            </EditItemTemplate>
                            
                        </asp:TemplateField>
                    
                        <asp:TemplateField HeaderText="价格">
                        
                            <ItemTemplate>
                                <%#Eval("price")%>
                            </ItemTemplate>
                            
                            <EditItemTemplate>      
                                 <asp:TextBox ID="TBPrice" Text='<%#Eval("price") %>' runat="server"></asp:TextBox>     
                            </EditItemTemplate>
                        
                        </asp:TemplateField>
                    
                    <asp:BoundField HeaderText="建立时间" DataField="createdate" ReadOnly="True" />
                   <asp:CommandField   ShowEditButton="True" HeaderText="修改" />
                   <asp:TemplateField HeaderText="删除">
                    <ItemTemplate>
                        <asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="False" CommandName="Delete"
                            Text
    ="删除" OnClientClick="return confirm('您确认删除该记录吗?');"></asp:LinkButton>
                    </ItemTemplate>
                  </asp:TemplateField>
                </Columns>

     </asp:GridView>  

           

     在 cs中:

      

     protected void CheckAll(object sender, EventArgs e)

     {
            CheckBox cbx = (CheckBox)sender;
            foreach (GridViewRow gvr in GridView1.Rows)
            {
                CheckBox ch = (CheckBox)gvr.FindControl("ItemCheckBox");
                ch.Checked = cbx.Checked;
            }
        }
        protected void Button1_Click(object sender, EventArgs e)
        {
            this.Label1.Text = "";
            foreach (GridViewRow gvr in GridView1.Rows)
            {
                CheckBox ch = (CheckBox)gvr.FindControl("ItemCheckBox");
                if (ch.Checked)
                {
                    this.Label1.Text += "<li>GridView1 您选择的是(键值):" + GridView1.DataKeys[gvr.RowIndex].Value.ToString();
                }
            }

        }

  • 相关阅读:
    apple Safari input text 的兼容问题
    移动开发不能不知道的事-关于点击元素时出现的阴影
    移动开发不能不知道的事- css3复选框样式自定义
    移动开发不能不知道的事-中西文字体
    移动开发不能不知道的事-dp
    猴子吃桃
    3个数排序
    求10!
    一个简单的求和程序
    输出一个三角形
  • 原文地址:https://www.cnblogs.com/tiger8000/p/2300924.html
Copyright © 2011-2022 走看看