• 全选/全不选总结


    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
  • 相关阅读:
    FreeBSD10下的MySQL5.5配置安装
    TCP Wrappers
    SNAT技术
    子网掩码, 网段主机数计算
    functools wraps
    数据库引擎
    restframework
    Python使用asyncio+aiohttp异步爬取猫眼电影专业版
    Linux 总结
    Nginx日志管理
  • 原文地址:https://www.cnblogs.com/lzlbk/p/6396198.html
Copyright © 2020-2023  润新知