单击CheckBox,全选GridView中所有CheckBox

一:在客户端执行

<script type="text/javascript">
       function SelectAll(tempControl)
       {
           var theBox = tempControl;  //获取参数名称
           sState = theBox.checked;   //查看参数是否为真
           elem = theBox.form.elements;  //获取当前页面所有元素
           for(i=0;i<elem.length;i++)
           {
               if(elem[i].type=="checkbox" && elem[i].id!=theBox.id)
               {
                   if(elem[i].checked!=sState)
                   {
                       elem[i].click();
                   }
               }
           }
       }
   
    </script>

在GridView添加一列CheckBox模板列,在头模板也添加一个checkBox在CheckBox按钮事件上上添加

 <HeaderTemplate>
   <asp:CheckBox ID="CheckBox2" runat="server" onclick="javascript:SelectAll(this);" />
 </HeaderTemplate>
***************************************************************************
二 在服务器端执行
在外部添加一个CheckBox按钮,并讲该按钮的AutoPostBack属性设置为True,双击该CheckBox

protected void CheckBox2_CheckedChanged(object sender, EventArgs e)
    {
        int i;
        if (((CheckBox)sender).Checked)
        {
            for (i = 0; i < GridView1.Rows.Count; i++)
            {
                ((CheckBox)GridView1.Rows[i].FindControl("CheckBox1")).Checked = true;//找到那一列模板的ID值
            }
        }
        else
        {
            for (i = 0; i < GridView1.Rows.Count; i++)
            {
                ((CheckBox)GridView1.Rows[i].FindControl("CheckBox1")).Checked =false;
            }
        }
    }

posted @ 2008-02-07 12:52  一个IT愤青  阅读(1894)  评论(1编辑  收藏  举报