GridView中实现CheckBox的全选 (ajax)

根据一位网友的代码修改了一下
用服务器端的方法:
在页面上放一个gridview控件,配置好数据源,编辑列,添加一个模版列,再编辑模版,放入一个checkbox控件。代码如下:

<body>
    
<form id="form1" runat="server">
        
<asp:ScriptManager ID="ScriptManager1" runat="server"/>
    
<div>
        
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
            
<ContentTemplate>
                
<asp:GridView ID="GridView1" runat="server">
                    
<Columns>
                        
<asp:TemplateField>
                            
<HeaderTemplate>
                                
<asp:CheckBox ID="chkAll" runat="server" OnCheckedChanged="chkAll_CheckedChanged" AutoPostBack="True" />
                            
</HeaderTemplate>
                            
<ItemTemplate>
                                
<asp:CheckBox ID="chkItem" runat="server" />
                            
</ItemTemplate>
                        
</asp:TemplateField>
                    
</Columns>
                
</asp:GridView>
            
</ContentTemplate>
        
</asp:UpdatePanel>    
    
</div>
    
</form>
</body>

后台cs代码:

using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;

public partial class Default3 : System.Web.UI.Page
{
    
protected void Page_Load(object sender, EventArgs e)
    
{
        
if (!IsPostBack)
        
{
            
string conStr = "server=192.168.0.118;database=Northwind;Uid=sa;pwd=";
            
string sql = "select * from Region";
            SqlConnection con 
= new SqlConnection(conStr);
            SqlDataAdapter sda 
= new SqlDataAdapter(sql, con);
            DataSet ds 
= new DataSet();
            sda.Fill(ds);
            
this.GridView1.DataSource = ds;
            
this.GridView1.DataBind();
            sda.Dispose();
            con.Close();
        }

    }

    
protected void chkAll_CheckedChanged(object sender, EventArgs e)
    
{
        
for (int i = 0; i < this.GridView1.Rows.Count; i++)
        
{
            ((CheckBox)
this.GridView1.Rows[i].FindControl("chkItem")).Checked = ((CheckBox)this.GridView1.HeaderRow.FindControl("chkAll")).Checked;
        }

    }

}

本文转载自http://www.cnblogs.com/oec2003/archive/2007/11/09/954798.html,稍作修改~
 

原文地址:https://www.cnblogs.com/yuhui/p/1218216.html