根據一位網友的代碼修改了一下
用伺服器端的方法:
在頁面上放一個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,稍作修改~