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
{
    DataSet ds = db.dataSet("select ID,UserName,Comments,Postdate,newsid from Feedback order by Postdate desc,newsid desc");
    
    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()
    {
        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("您还没有选中有删除的项");
        }
    }
}这是一个简单的含多页的gridview,现在我的问题是为什么选中了之后按删除,表中还是原来的数据,要再按一下刷新才可以看到删除后的数据呢?
比如:
原来的列表是:
1 a
2 b
3 c
我选中2,按了删除后,显示的还是
1 a
2 b
3 c
要再刷新才可以看到:
1 a
3 c

解决方案 »

  1.   

    删除之后要重新绑定GRIDVIEW,用datainit()
      

  2.   

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

  3.   

    DataSet ds = db.dataSet("select ID,UserName,Comments,Postdate,newsid from Feedback order by Postdate desc,newsid desc");、
    放绑定函数里面试试
      

  4.   

    應該把
    DataSet ds = db.dataSet("select ID,UserName,Comments,Postdate,newsid from Feedback order by Postdate desc,newsid desc");
    放到數據綁定裡面
    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();
           
        }
      

  5.   

    删除之后
    刷新了页面
    ds里好像没值了
    你把DataSet ds = db.dataSet("select ID,UserName,Comments,Postdate,newsid from Feedback order by Postdate desc,newsid desc");
    放datainit()里看下
      

  6.   

    删除之后要重新绑定,
    最后要重新加上下面的:
    this.datainit();
      

  7.   

    DataSet 为什么要作成全局变量了!
    把 DataSet ds = db.dataSet("select ID,UserName,Comments,Postdate,newsid from Feedback order by Postdate desc,newsid desc");放到datainit()方法里就可以了!