DataGrid 的 全选/取消全选 控制(CheckBox)

时间:2022-01-04 09:32:29

DataGrid控件:

  <Columns>
        <asp:TemplateColumn>
         <HeaderStyle Width="10px"></HeaderStyle>
         <HeaderTemplate>
          <INPUT id="CheckAll" name="CheckAll" type="checkbox" onclick="ChooseAll()">
         </HeaderTemplate>
         <ItemTemplate>
          <asp:CheckBox id="CheckBox1" runat="server"></asp:CheckBox>
         </ItemTemplate>
        </asp:TemplateColumn>
        <asp:TemplateColumn HeaderText="序号">
         <HeaderStyle Wrap="False"></HeaderStyle>
         <ItemTemplate>
          <asp:Label runat="server" ID="labNO"></asp:Label>
         </ItemTemplate>
        </asp:TemplateColumn>

 

JavaScript函数:

  var checkFlag = true;
    function ChooseAll()
    {
       //if( !document.all("CheckAll").Checked ) // 全选 
       if( checkFlag ) // 全选 
      {
          var inputs = document.all.tags("INPUT");
          for (var i=0; i < inputs.length; i++) // 遍历页面上所有的 input 
          {
            if (inputs[i].type == "checkbox" && inputs[i].id != "CheckAll" )
             {
                inputs[i].checked = true;
             }     
          }
          checkFlag = false;
       }
       else  // 取消全选
       {
          var inputs = document.all.tags("INPUT");
          for (var i=0; i < inputs.length; i++) // 遍历页面上所有的 input 
          {
             if (inputs[i].type == "checkbox" && inputs[i].id != "CheckAll" )
             {
                inputs[i].checked = false;
             }     
          }
          checkFlag = true;
       }
    }

    // <summary>
    // 让用户加以确认删除数据。
    // </summary>
    function DelRec()
    {
       var inputs = document.all.tags("input");
       var selectedLen = 0;
       for( var i=0;i < inputs.length; i ++)
       {
          if(inputs[i].type == "checkbox")
          {
             if( inputs[i].checked )
             {
                if(inputs[i].id != "CheckAll")
                {
                   selectedLen ++;
                }
             }
          }
       }
       if( selectedLen == 0 )
       {
          alert("请先选择您要删除的数据!");
       }
       else
       {
          var flag = confirm("您确定要删除所选择的这 " + selectedLen + " 条数据吗?");
          if(flag)
          {
             document.all("BtnDelRecord").click();  
          }
       }
    }