按下一个按钮,触发事件
sqlDataSource1.SelectCommand="select * from a";GridView每页显示10条数据,并自动分页
但是点击第2页之后,所有的记录就全没了,这是咋回事呢

解决方案 »

  1.   

    点击之后
    PageIndexChanging里
    GridView.PageIndex = e.NewPageIndex;
    然后重新绑定一次数据源
    就可以了
      

  2.   


     protected void GridView1_PageIndexChanging(Object sender, GridViewPageEventArgs e)
        {
            GridView1.PageIndex = e.NewPageIndex;
            Bind();//数据绑定方法
        }
      

  3.   


    PageIndexChanging事件里 
    {
    GridView.PageIndex = e.NewPageIndex; 
    重新绑定一次数据源 
    }
      

  4.   

    gridview是有自动分页功能的,但是他不会以数字的形式显示出来一页到底有多少行信息,你重新设置一下分页功能吧,不行就重新建gridview,然后再做,最后不行,你给gridview写一个事件函数,用来完成分页功能就可以了
      

  5.   

    sqlDataSource1.SelectCommand="select * from a";  
    用了数据源控件,并不用写PageIndexChanging事件了
    allowpaging=true,pagesize=10;
    就可以了
      

  6.   

    在Page_load里加
    if (!IsPostBack)
            {
                GridView1.DataBind();
            }
      

  7.   

    protected void GridView1_PageIndexChanging(Object sender, GridViewPageEventArgs e)
        {
            GridView1.PageIndex = e.NewPageIndex;
            GridView1.DataBind();
        }
      

  8.   

    protected void GridView1_PageIndexChanging(Object sender, GridViewPageEventArgs e) 
        { 
            GridView1.PageIndex = e.NewPageIndex; 
            GridView1.DataBind(); 
        } 
      

  9.   

    这类问题无一例外地都是同样的编程思路的原因造成的。一个“不幸”的原因,你代码写太多了,所以写错了。你可以几乎不用写代码就搞定这个功能,就不要手写那么多代码。写的越多,现在的bug和将来维护的麻烦可能越多。我的建议参见帖子:《急,GridView控件自定义分页时为什么不显示分页的数字?  》
      

  10.   

    噢,sorry, 呵呵,应该是另一个帖子《GridView在搜索后,就不能正常编辑了  》这些都是在回发时没有正常处理数据绑定控件恢复问题造成的。如果在3年前,我会帮你分析你的类似         if (!Page.IsPostBack) 
            { 
                GridViewDataBind(); 
            } 这样的代码里边是怎样实现的。但是现在我建议你使用asp.net2.0的写法,你不用去这些代码,你的页面中大部分代码可以删除,而且还运行的绝对可靠。
      

  11.   

    赞成楼上的。
    既然你用了GridView,那么它很多功能还是很方便的,就象分页这种效果,真的不错。
    只是有此效果要通过发掘才会被你发现。象楼上有朋友提出:显示每页多少行等信息,都是可以在GridView模板中实现的。