第一页查询显示正常, 后面的都为空白?C# 编写的 !protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
        GridView1.PageIndex = e.NewPageIndex;
        
        gridViewBind(); //这个自定义函数绑定的话,能正常使用,但是如果是查询结果集的话,会绑定全部数据
        GridView1.DataBind(); //这个绑定的话,就是出现第一页正常,然后后面都是空白的情况
        
    }

解决方案 »

  1.   

    你没有重新为GridView指定数据源啊
      

  2.   

     GridView1.DataBind(); //这个绑定的话,就是出现第一页正常,然后后面都是空白的情况
    去掉这行
      

  3.   

    用你自定义的gridViewBind()
    只用这个就行了
    GridView1指定了每页显示多少个
      

  4.   

    GridView数据源最好使用DataSet,这样的话,分页效果可以实现
      

  5.   

    大家误会我的意思了!
    当然 gridViewBind();    GridView1.DataBind(); 这两个绑定一个就行了!就是说,写了gridViewBind()的话,如果你做个查询操作,结果也是多页的话,重新绑定就变成了全部绑定而不是查询的结果了!如果用  GridView1.DataBind(); 绑定的话,就只能显示第一页,是这样的情况!!    
      

  6.   

    我是这样写的,就能实现查询分页。
    protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack) gridViewBind();
        }protected void Dgd_user_PageIndexChanging(object sender, GridViewPageEventArgs e)
        {
            Dgd_user.PageIndex = e.NewPageIndex;
            gridViewBind();
        }public void gridViewBind()
        {
            string ConnectString = ConfigurationManager.AppSettings    ["ConnectionString"].ToString();
            SqlConnection myConnection = new SqlConnection(ConnectString);
            myConnection.Open();        SqlDataAdapter da = new SqlDataAdapter("select * from users", myConnection);
            DataSet ds = new DataSet();
            da.Fill(ds);
            Dgd_user.DataSource = ds;
            Dgd_user.DataBind();        myConnection.Close();    }
      

  7.   


    还是不太明白你的话,这个GridView1.DataBind(); 绑定去掉才是,一般都是放在gridViewBind();方法里面的,只写一次就可以了.
    大家都是这么写的,没有什么问题,写里面就是了,例如:
        private void DataBindInit()
        {
            DonationDataAccess.UserDAO dao = new DonationDataAccess.UserDAO();
            DataSet ds = null;
            int usertype = PublicFunction.UserTypeConst.DEALER;
            ds = dao.FindSearch(txtEmail.Text, txtCompany.Text, txtAddress.Text, txtCity.Text, ddlState.SelectedValue, txtZip.Text, usertype);
            if (ds.Tables[0].Rows.Count == 0)
            {
                this.divSearchResult.Visible = false;
                this.lblMessage2.Text = "There isn't user.";
            }
            else
            {
                this.lblMessage2.Text = "";
                this.divSearchResult.Visible = true;
                this.gv_user.DataSource = ds;
                this.gv_user.DataBind();
            }
        }
      

  8.   

    同意10楼的说法, gridViewBind(); //这个自定义函数绑定的话,能正常使用,但是如果是查询结果集的话,会绑定全部数据
            GridView1.DataBind(); //这个绑定的话,就是出现第一页正常,然后后面都是空白的情况.
    既然你都为gridview写了自定义的绑定函数,那 GridView1.DataBind(); 这个就显得很多余了。你要用 GridView1.DataBind(); 就应该在page_load事件中写绑定函数。