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

晨曦之光 发布于 2012/03/09 14:59
阅读 625
收藏 0

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();  
   }
  }
}

 
原文链接:http://blog.csdn.net/21aspnet/article/details/1535775
加载中
返回顶部
顶部