ASP.NET2.0下含有CheckBox的GridView删除选定记录实例
1 <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" PageSize="5"
2 Width="726px" AllowPaging="True" AllowSorting="True"
3 DataKeyNames="DB1_1,DB1_2" OnRowDeleting="GridView1_RowDeleting" OnPageIndexChanging="GridView1_PageIndexChanging" OnRowDataBound="GridView1_RowDataBound" OnSorting="GridView1_Sorting" Height="279px" >
4 <Columns>
5 <asp:TemplateField HeaderText="序号" >
6 <ItemTemplate>
7 <%# this.GridView1.PageIndex * this.GridView1.PageSize + this.GridView1.Rows.Count + 1%>
8 </ItemTemplate>
9 </asp:TemplateField>
10 <asp:TemplateField HeaderText="选择" >
11 <ItemTemplate>
12 <asp:CheckBox ID="chkSelect" runat="server" ></asp:CheckBox>
13 </ItemTemplate>
14 </asp:TemplateField>
15 <asp:TemplateField HeaderText="操作" ShowHeader="False">
16 <ItemTemplate>
17 <asp:LinkButton ID="lbtnDelete" runat="server" CausesValidation="False" CommandName="Delete"
18 Text="删除" OnClientClick="return confirm('确认要删除吗?');"></asp:LinkButton>
19 </ItemTemplate>
20 </asp:TemplateField>
21 </Columns>
22 <AlternatingRowStyle BackColor="Aquamarine" />
23 </asp:GridView>
1 <asp:CheckBox ID="chkSelectAll" runat="server" Text="全部选中" OnCheckedChanged="chkSelectAll_CheckedChanged" AutoPostBack="True" ></asp:CheckBox>
2 <asp:Button ID="btnDelete" runat="server" Text="删除" OnClick="btnDelete_Click" />
1 protected void btnDelete_Click(object sender, EventArgs e)
2 {
3 string strDelete = "";
4 for (int i = 0; i < this.GridView1.Rows.Count; i++)
5 {
6 string Label;
7 bool isChecked = ((CheckBox)GridView1.Rows[i].FindControl("chkSelect")).Checked;
8 Label = ((Label)GridView1.Rows[i].FindControl("labXH")).Text;
9 if (isChecked)
10 {
11 strDelete = "DB1_1" + "=" + Label;
12 }
13 }
14 conn.RunSql("Delete from DB1 where " + strDelete
15 this.chkSelectAll.Checked = false;
16 GridViewBind();
17 }
18
19 protected void chkSelectAll_CheckedChanged(object sender, EventArgs e)
20 {
21 //遍历GridView行获取CheckBox属性
22 for (int i = 0; i < this.GridView1.Rows.Count; i++)
23 {
24 ((CheckBox)GridView1.Rows[i].FindControl("chkSelect")).Checked = this.chkSelectAll.Checked;
25 }
26 }