- <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml" >
- <head runat="server">
- <title>GridView模板列中添加CheckBox 实现全选、删除</title>
- </head>
- <body>
- <form id="form1" runat="server">
- <div>
- <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" CellPadding="10" ForeColor="#333333" PageSize="3" AllowSorting="True" BackColor="White" BorderColor="#CCCCCC" Font-Size="9pt" BorderStyle="None" BorderWidth="1px">
- <FooterStyle BackColor="White" ForeColor="#000066" />
- <Columns>
- <asp:TemplateField>
- <ItemTemplate>
- <asp:CheckBox ID="CheckBox1" runat="server" />
- </ItemTemplate>
- </asp:TemplateField>
- <asp:BoundField DataField="ID" HeaderText="用户ID" ReadOnly="True" />
- <asp:BoundField DataField="Name" HeaderText="用户姓名" />
- <asp:BoundField DataField="Address" HeaderText="家庭住址" />
- </Columns>
- <RowStyle ForeColor="#000066" />
- <SelectedRowStyle BackColor="#669999" Font-Bold="True" ForeColor="White" />
- <PagerStyle BackColor="White" ForeColor="#000066" HorizontalAlign="Left" />
- <HeaderStyle BackColor="#006699" Font-Bold="True" ForeColor="White" />
- </asp:GridView>
- <asp:CheckBox ID="CheckBox2" runat="server" AutoPostBack="True" Font-Size="9pt" OnCheckedChanged="CheckBox2_CheckedChanged" Text="全选" />
- <asp:Button ID="Button1" runat="server" Font-Size="9pt" Text="取消" OnClick="Button1_Click" />
- <asp:Button ID="Button2" runat="server" Font-Size="9pt" Text="删除" OnClick="Button2_Click" />
- </div>
- </form>
- </body>
- </html>
- using System;
- using System.Data;
- using System.Data.SqlClient;
- using System.Configuration;
- using System.Web;
- using System.Web.Security;
- using System.Web.UI;
- using System.Web.UI.WebControls;
- using System.Web.UI.WebControls.WebParts;
- using System.Web.UI.HtmlControls;
- public partial class _Default : System.Web.UI.Page
- {
- SqlConnection sqlConn;
- SqlCommand sqlComm;
- string strConn = "Data Source=(local);Database=Exercise;Uid=sa;Pwd=sa";
- protected void Page_Load(object sender, EventArgs e)
- {
- if (!IsPostBack)
- {
- databind();
- }
- }
- private void databind()
- {
- string strSql = "select * from myDt";
- sqlConn = new SqlConnection(strConn);
- SqlDataAdapter sqlDa = new SqlDataAdapter(strSql, sqlConn);
- DataSet ds = new DataSet();
- sqlConn.Open();
- sqlDa.Fill(ds, "myDt");
- GridView1.DataSource = ds;
- GridView1.DataKeyNames = new string[] { "ID" };
- GridView1.DataBind();
- sqlConn.Close();
- }
- protected void CheckBox2_CheckedChanged(object sender, EventArgs e)
- {
- for (int i = 0; i < GridView1.Rows.Count; i++)
- {
- CheckBox chk = (CheckBox)GridView1.Rows[i].FindControl("CheckBox1");
- if (CheckBox2.Checked == true)
- {
- chk.Checked = true;
- }
- else
- {
- chk.Checked = false;
- }
- }
- }
- protected void Button1_Click(object sender, EventArgs e)
- {
- CheckBox2.Checked = false;
- for (int i = 0; i < GridView1.Rows.Count; i++)
- {
- CheckBox chk = (CheckBox)GridView1.Rows[i].FindControl("CheckBox1");
- chk.Checked = false;
- }
- }
- protected void Button2_Click(object sender, EventArgs e)
- {
- sqlConn = new SqlConnection(strConn);
- for (int i = 0; i < GridView1.Rows.Count; i++)
- {
- CheckBox chk = (CheckBox)GridView1.Rows[i].FindControl("CheckBox1");
- if(chk.Checked == true)
- {
- string strSql = "delete myDt where ID = '" + GridView1.DataKeys[i].Value + "'";
- sqlComm = new SqlCommand(strSql, sqlConn);
- sqlConn.Open();
- sqlComm.ExecuteNonQuery();
- sqlConn.Close();
- }
- }
- databind();
- }
- }