在按了分页后,如果只是简单的执行DataBind是没有任何效果的(也就是说如果绑定的时候不提供数据源的的话重新绑定会绑定到一个空的结果,也就是你点分页查询后没有任何数据),所以每次DataBind之前都应该重新提供数据源(比如把你原来的绑定事件在执行一次)

解决方案 »

  1.   

    感觉蛮乱的,如果你要分页,劝你在数据库写个存储过程,如:Create Procedure dbo.up_GetList
        @PageSize    int = 20,    --每页大小
        @PageIndex   int = 1      --要取得的页码
    begin
        ......
    end然后前台程序翻页时,只须传入要取得的页码既可。
      

  2.   

    我想可能是我没说明白,其实我是想把数据库里面的一项单独拿出来,显示在窗体上,但是不是用DataGrid,而是用语言对应,象TextBox1.Text=ds.Tables["IS"].Rows[0][0].ToString(),然后,修改TextBox1里面的数据,再修改数据库,既修改操作那部分,再用自定义函数BindGrid()绑定;上下页也是一样的,是单独的数据项。请大家再帮我一下
      

  3.   

    "Label10.Text=n;"
    这条语句中的n是不是的Page_Load中给指定了值?
    另"而再按后一页变为4,接着不管怎么按都没效果了"是不是由于数据库里没有满足条件的值
      

  4.   

    n=Label10.Text=ds.Tables["IS"].Rows[0][9].ToString()这个写在函数BindGrid里,我刚才我又看了一下运行过程,发现修改那部分,问题好象出在无法赋值,就是说不过我在TextBox里面怎么改,他就是无法提取
    上下页也是一样,n,也就是Label10.Text虽然显示是变化了,可是程序里面没有改,所以不管你怎么按,永远对于还是老样子不知道是不是哪有错误啊?