asp.net gridview多页时的批量删除

  book_admin.aspx

  

复制代码 代码如下:

  <asp:GridView ID="grwBook" runat="server" CellPadding="4" ForeColor="#333333" GridLines="None" AutoGenerateColumns="false" AllowPaging="true" DataKeyNames="ID" OnPageIndexChanging="grwBook_PageIndexChanging" PageSize="12">

  <FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />

  <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" />

  <AlternatingRowStyle BackColor="White" />

  <Columns>

  <asp:BoundField DataField="ID" HeaderText = "ID" />

  <asp:BoundField DataField="UserName" HeaderText="姓名">

  <ItemStyle Width="60px" />

  </asp:BoundField>

  <asp:BoundField DataField="Comments" HeaderText="评论">

  <ItemStyle width="500px"  />

  </asp:BoundField>

  <asp:BoundField DataField="Postdate" HeaderText="日期" />

  <asp:HyperLinkField DataNavigateUrlFields="newsid" DataNavigateUrlFormatString="../news_zi.asp?id={0}" HeaderText="文章"  DataTextField="newsid" target="_blank" />

  <asp:TemplateField HeaderText="操作" >

  <ItemTemplate>

  <asp:CheckBox runat="Server" ID="cbxId" />

  </ItemTemplate>

  </asp:TemplateField>

  </Columns>

  <PagerSettings Mode="NextPreviousFirstLast" FirstPageText="第一页" LastPageText="末页" NextPageText="下一页" PreviousPageText="上一页" />

  </asp:GridView>

  book_admin.aspx.cs

  

复制代码 代码如下:

  using System;

  using System.Data;

  using System.Configuration;

  using System.Collections;

  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;

  using System.Data.OleDb;

  public partial class admin_book_admin : System.Web.UI.Page

  {

  protected void Page_Load(object sender, EventArgs e)

  {

  //判断管理员是否已经登陆

  admin.checkadmin();

  btnDel.Attributes.Add("onclick", "return confirm('确定删除吗?')");

  if (!Page.IsPostBack)

  {

  datainit();

  }

  }

  protected void grwBook_PageIndexChanging(object sender, GridViewPageEventArgs e)

  {

  this.grwBook.PageIndex = e.NewPageIndex;

  Session["curretnPage"] = e.NewPageIndex;

  datainit();

  }

  //数据绑定

  private void datainit()

  {

  DataSet ds = db.dataSet("select ID,UserName,Comments,Postdate,newsid from Feedback order by Postdate desc,newsid desc");

  if (ViewState["currentPage"] != null)

  {

  this.grwBook.PageIndex = Convert.ToInt32(Session["currentPage"]);

  }

  this.grwBook.DataSource = ds;

  this.grwBook.DataBind();

  }

  //执行删除操作

  protected void btnDel_Click(object sender, EventArgs e)

  {

  string sqlText = "(";

  for (int i = 0; i < grwBook.Rows.Count; i++)

  {

  //搜索第n行3列

  CheckBox cbx = (CheckBox)grwBook.Rows[i].FindControl("cbxId");

  if (cbx.Checked == true)

  {

  sqlText = sqlText + Convert.ToInt32(grwBook.DataKeys[i].Value) + ",";

  }

  }

  //判断是否有选中

  if (sqlText != "(")

  {

  //去掉最后的逗号,并且加上右括号

  sqlText = sqlText.Substring(0, sqlText.Length - 1) + ")";

  sqlText = "delete from Feedback where ID in" + sqlText;

  try

  {

  //执行删除语句

  db.excuteSql(sqlText);

  //重新绑定数据

  common.salert("删除成功");

  datainit();

  //Response.Redirect("book_admin.aspx");

  }

  catch (Exception ex)

  {

  //若有错误发生,输出错误信息

  common.salert(ex.Message);

  }

  finally

  {

  }

  }

  else

  {

  common.salert("您还没有选中有删除的项");

  }

  }

  }