你把newDataTable声明的是全局的?
是不是页面刷新或者跳转的时候把它清零了,
不要设置成全局的吧
另外可以用ViewState保存下!!!

解决方案 »

  1.   

    全局变量暂时也行得通,
    最简单的办法,就是在你的换页跟排序事件激发时,再执行一遍你的逻辑处理方法,把所有的数据重新注入你的datatable,这样分页及排序肯定没问题了,因为你自己也找出来是Datatable已经空了,所以要执行另外两个事件时,应该确保里面有数据.
    还有一个办法,可以用session储值.不过我觉得可以试试全局变量,不行再用换页排序前重新执行数据注入.只不过不适合数据处理庞大的方法啊,这样影响响应速度.
      

  2.   

    2楼的重新执行逻辑处理方法的办法已经证明OK了,
    不过问一下:public DataTable newDateTable = new DataTable("newDateTable");这句话怎么设成全局变量?!
      

  3.   

    改用gridview的自动分页多简单
      

  4.   

    当某一个条件筛选出的结果大于1页,并且我们浏览到第2,或更后面的页,然后改变筛选的参数,重新获取结果并填充DataGrid,就会出错通过属性设置
    public DataTable dt
    {
    get
    {
    return (DataTable)ViewState["dt"];
    }
    set
    {
    ViewState["dt"]=value;
    }
    }