这种全选的效果在后台是很需要的,因为有时候数据很多,如果想删除全部的数据,没有全选按钮岂不是很麻烦,所以很有必要实现这种全选的效果,并执行相关的事件,下面就来看看如何实现
先来看看第一种方法:
首先先布局好全选和控件中复选框按钮,全选按钮我们使用html
控件中复选框
全选
数据项就采用web控件中的复选框:
代码如下
全选
Js事件
function changeState(isChecked)
{
var chk_list=document.getElementsByTagName("input");
for(var i=0;i
{
if(chk_list[i].type=="checkbox")
{
chk_list[i].checked=isChecked;
}
}
}
这样就基本实现了点击全选按钮的时候,数据项的复选框也被全部选中了,但是,现在还有一个问题,就是如果全部选中,在取消数据项中的一个选项,那么此时全选的复选框就不应该选中,这个就需要我们来触发控件的DataBound事件,用来自动绑定onclick事件,一般在控件中需要触发事件的,因为不能直接触发服务器事件,所以只能触发js事件,这就需要我们使用html控件,调用js,或者是直接触发绑定控件的DataBound事件,通过Attributes.add为控件添加客户端的onclick等js事件!下面我们就来触发DataBound事件完成上面的需求
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if(e.Row.RowType==DataControlRowType.DataRow)
{
CheckBox chk = e.Row.FindControl("chk") as CheckBox;
if(chk!=null){