asp.net GridView控件中实现全选的解决方案

时间:2022-09-17 18:57:42

第一种:利用客户端控件实现 
JS: 

复制代码代码如下:


<script type="text/javascript"> 
function checkAll() 

var checklist=document.getElementsByTagName("input"); 
for(var i=0;i<checklist.length;i++) 

if(checklist[i].type=="checkbox") 

checklist[i].checked=document.form1.ck.checked; 



</script> 


GridView控件: 

复制代码代码如下:


<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false" > 
<Columns> 
<asp:BoundField DataField="ProductID" HeaderText="产品编号" /> 
<asp:TemplateField> 
<HeaderTemplate> 
<input id="ck" type="checkbox" onclick="checkAll();" /> 
</HeaderTemplate> 
<ItemTemplate> 
<asp:CheckBox ID="checkbox1" runat="server" /> 
</ItemTemplate> 
</asp:TemplateField> 
</Columns> 
</asp:GridView> 
            


第二种:利用服务器端控件实现 

复制代码代码如下:


protected void 全选_CheckedChanged(object sender, EventArgs e) 

if (全选.Checked == true) 

for (int i = 0; i < GridView1.Rows.Count; i++) 

CheckBox ck = (CheckBox)GridView1.Rows[i].Cells[0].FindControl("checkbox1") as CheckBox; 
if (ck!=null) 

ck.Checked = true; 



else 

for (int i = 0; i < GridView1.Rows.Count; i++) 

CheckBox ck = (CheckBox)GridView1.Rows[i].Cells[0].FindControl("checkbox1") as CheckBox; 
if (ck != null) 

ck.Checked = false;