全选/全不选总结

1.grideview的后台全选/全不选方法

 1  public void SelectAllNot(Object sender, EventArgs e)
 2         {
 3             CheckBox SelectAll =  
 4           (CheckBox)GridView1.HeaderRow.FindControl("Checkbox_Header");
 5 
 6             if (SelectAll.Checked == true)
 7             {
 8                 foreach (GridViewRow CheckBoxItem in GridView1.Rows)
 9                     ((CheckBox)CheckBoxItem.FindControl("Checkbox_OP")).
10                 Checked = true;
11             }
12             else
13             {
14                 foreach (GridViewRow CheckBoxItem in GridView1.Rows)
15                      ((CheckBox)CheckBoxItem.FindControl("Checkbox_OP")).
16                 Checked= false;
17             }
18         }    
View Code

   逐个选取时,可以使用foreach循环

1             bool IsChecked = false;
2             foreach (GridViewRow CheckBoxItem in GridView1.Rows)
3             {
4                 IsChecked =     ((CheckBox)CheckBoxItem.FindControl("Checkbox_OP")).Checked;
5                 if (IsChecked)
6                 {
7 
8                  }
9               }
View Code

  前台一般都是固定样式,比较常见

1  <asp:TemplateField HeaderText="checkboxselectall" HeaderStyle-HorizontalAlign="Center" ItemStyle-HorizontalAlign="Center" HeaderStyle-CssClass="FixedTitleColumn" ItemStyle-CssClass="FixedDataColumn" >
2         <HeaderTemplate>
3              <asp:CheckBox id="Checkbox_Header" runat="server" BorderWidth="0px" BorderColor=White AutoPostBack="true" OnCheckedChanged="SelectAllNot">//SelectAllNot对应后台方法
4 </asp:CheckBox>
5         </HeaderTemplate>
6     <ItemTemplate>
7        <asp:CheckBox id="Checkbox_OP" runat="server"   BorderWidth="0px"></asp:CheckBox>
8        </ItemTemplate>
9          </asp:TemplateField>
View Code

其中grideview表头ID等属性一般在<asp:TemplateField></asp:TemplateField>中,而datagrideview。。 <asp:TemplateColumn> </asp:TemplateColumn>.

全选也可以使用js实现,例如:

 1  //js实现全选/全不选
 2             function SelectAllCheckboxes(spanChk) {
 3                 elm = document.forms[0];
 4                 for (i = 0; i < elm.length; i++) {
 5                     if (elm[i].type == "checkbox" && elm[i].id !=         spanChk.id) 
 6                               {
 7                         if (elm.elements[i].checked != spanChk.checked)
 8                             elm.elements[i].click();
 9                     }
10                 }
11             }
View Code

在CheckBox中只需要在表头调用onclick方法就可以实现:onclick="SelectAllCheckboxes(this)"

 datagrid全选:

 1         //全选操作
 2         protected void Checkbox_Header_CheckedChanged(object sender, EventArgs e)
 3         {
 4             bool SelectAll = false;
 5             SelectAll = ((CheckBox)((Table)Datagrid1.Controls[0]).Rows[0].FindControl("Checkbox_Header")).Checked;
 6 
 7             if (SelectAll == true)
 8             {
 9                 foreach (DataGridItem CheckBoxItem in this.Datagrid1.Items)
10                 {
11                     ((CheckBox)CheckBoxItem.FindControl("Checkbox_OP")).Checked = true;
12                 }
13             }
14             else
15             {
16                 foreach (DataGridItem CheckBoxItem in this.Datagrid1.Items)
17                 {
18                     ((CheckBox)CheckBoxItem.FindControl("Checkbox_OP")).Checked = false;
19                 }
20             }
21         }
View Code
原文地址:https://www.cnblogs.com/lzlbk/p/6396198.html