GridView中实现批量删除

来源:互联网 发布:java中的annotation 编辑:程序博客网 时间:2024/05/18 21:07

 

aspx页面:

<asp:GridView ID="GVNews" runat="server" AllowPaging="True" AutoGenerateColumns="False"
                            CellPadding="2" ForeColor="#333333" GridLines="None" OnPageIndexChanging="GVLink_PageIndexChanging"
                            OnRowCommand="GridView1_RowCommand" Width="98%" PageSize="60" HeaderStyle-HorizontalAlign="center" style="text-align: center">
                            <FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
                            <Columns>
                                <asp:TemplateField ShowHeader="False">
                                    <ItemTemplate>
                                        <asp:CheckBox ID="CKB" runat="server" />
                                    </ItemTemplate>
                                    <ItemStyle Width="30px" HorizontalAlign="Center" />
                                </asp:TemplateField>
                                <asp:BoundField DataField="id" HeaderText="编号" />
                                <asp:TemplateField HeaderText="标题">
                                    <ItemTemplate>
                                        <%# DataBinder.Eval(Container.DataItem,"title") %>
                                    </ItemTemplate>
                                    <ItemStyle Width="200px" HorizontalAlign="Center" />
                                </asp:TemplateField>

</Columns>
                            <RowStyle BackColor="#EFF3FB" />
                            <EditRowStyle BackColor="#2461BF" />
                            <SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
                            <PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
                            <HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" HorizontalAlign="Center" />
                            <AlternatingRowStyle BackColor="White" />
                        </asp:GridView>

 <tr>
                    <td class="td" style="text-align: left; padding-left:20px;" valign="top">
                        <asp:CheckBox ID="CKBAll" runat="server" Text="选择全部" OnCheckedChanged="CKBAll_CheckedChanged" AutoPostBack="True" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                        <asp:LinkButton ID="LBDelete" runat="server" OnClientClick="return  del()" OnClick="LBDelete_Click">删除所有选项</asp:LinkButton></td>
                </tr>

aspx.cs代码:

 protected void LBDelete_Click(object sender, EventArgs e)
    {
        this.DelectSelected();
    }
    private void DelectSelected()
    {
        for (int i = 0; i < this.GVNews.Rows.Count; i++)
        {
            CheckBox cbx = (CheckBox)this.GVNews.Rows[i].FindControl("CKB");
            if (cbx!=null)
            {
                if (cbx.Checked == true)
                {
                    this.Delete(Convert.ToInt32(this.GVNews.Rows[i].Cells[1].Text));
                    //Response.Write(this.GVNews.Rows[i].Cells[1].Text);
                }
            }
          
        }
        this.GetAllNews();
    }
    /// <summary>
    /// 全部选中
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void CKBAll_CheckedChanged(object sender, EventArgs e)
    {
        for (int i = 0; i < this.GVNews.Rows.Count; i++)
        {
            CheckBox cbx = (CheckBox)this.GVNews.Rows[i].FindControl("CKB");
            if (cbx != null)
            {
                if (this.CKBAll.Checked == true)
                {
                    cbx.Checked = true;
                }
                else
                {
                    cbx.Checked = false;
                }
            }

        }
    }