我们经常会在DataGrid里选择一组数据,然后批量操作,如果要全部操作的话需要一个全选的功能,如果你用这个全选按钮的服务器端事件来让DataGrid里复选框的全选的话,会多一次向服务器的回传,我们可以写一个js函数来简化这一步骤.
其实DataGrid在客户端会生成一个html表格,表格的id属性就是DataGrid的ID,这个ID可以用ClientID获取,然后你的全选按钮也可以在后台编码里添加一个onclick属性来让他执行你写好的js代码,比如你声明了一个DataGrid1的DataGrid,然后里面在一个模板列里放了一个复选框,然后又在外面声明了一个CheckBox1来全选DataGrid1里面的复选框,语法如下.
CheckBox1.Attributes.Add("onclick","chk(this,'"+dg1.ClientID+"')");
下面是我用html代码做了个演示.
全选DataGrid里的复选框<html>
全选DataGrid里的复选框
<head>
全选DataGrid里的复选框
<title></title>
全选DataGrid里的复选框
<meta name="Generator" content="EditPlus">
全选DataGrid里的复选框
<meta name="Author" content="Ansel">
全选DataGrid里的复选框
<meta name="Keywords" content="">

全选DataGrid里的复选框
<!--
{
全选DataGrid里的复选框 
var oEvent = document.all(id);
全选DataGrid里的复选框 
var chks = oEvent.getElementsByTagName("INPUT");
全选DataGrid里的复选框 
for(var i=0; i<chks.length; i++)
{
全选DataGrid里的复选框      
if(chks[i].type=="checkbox")
全选DataGrid里的复选框  chks[i].checked
=chk.checked;
全选DataGrid里的复选框    }

全选DataGrid里的复选框}

全选DataGrid里的复选框
//-->
全选DataGrid里的复选框
</script>
全选DataGrid里的复选框
</head>
全选DataGrid里的复选框
<body>
全选DataGrid里的复选框
<input id="CheckBox1" type="checkbox" name="CheckBox1" onclick="chk(this,'DataGrid1')" language="javascript" />
全选DataGrid里的复选框
<TABLE id="DataGrid1">
全选DataGrid里的复选框
<TR>
全选DataGrid里的复选框 
<TD><INPUT TYPE="checkbox" NAME="chk1"></TD>
全选DataGrid里的复选框 
<TD><INPUT TYPE="checkbox" NAME="chk2"></TD>
全选DataGrid里的复选框 
<TD><INPUT TYPE="checkbox" NAME="chk3"></TD>
全选DataGrid里的复选框
</TR>
全选DataGrid里的复选框
<TR>
全选DataGrid里的复选框 
<TD><INPUT TYPE="checkbox" NAME="chk4"></TD>
全选DataGrid里的复选框 
<TD><INPUT TYPE="checkbox" NAME="chk5"></TD>
全选DataGrid里的复选框 
<TD><INPUT TYPE="checkbox" NAME="chk6"></TD>
全选DataGrid里的复选框
</TR>
全选DataGrid里的复选框
<TR>
全选DataGrid里的复选框 
<TD><INPUT TYPE="checkbox" NAME="chk7"></TD>
全选DataGrid里的复选框 
<TD><INPUT TYPE="checkbox" NAME="chk8"></TD>
全选DataGrid里的复选框 
<TD><INPUT TYPE="checkbox" NAME="chk9"></TD>
全选DataGrid里的复选框
</TR>
全选DataGrid里的复选框
</TABLE>
全选DataGrid里的复选框
</body>
全选DataGrid里的复选框
</html>

相关文章: