在grid的最后一页删除所有数据,删除成功后reload刷新grid,发现无法向前翻页
Ext.Ajax.request({
        url : '/itspm/ChangeProcessJson.do?act=REVIEW_DELETE',
        headers : {ContentType : 'UTF-8'},
        params : {
         reviewData: Ext.getDom("reviewData").value
        },
        success : function() {
         reviewGridDs.reload();
        },
        failure : function() {
            alert("delete failure");
        }
        
    });

解决方案 »

  1.   

    reviewGrid.load(params{start: ..., limit: ...});
      

  2.   

    {//修改
    userForm.form.doAction('submit', {
    url : 'data/system/user_manage_data.jsp',
    method : 'post',
    params : 'command=update',
    waitMsg:'数据提交中.....',
    success : function(form, action)
     {
    //关闭窗口
    closeWin('userWin');
    userGrid.ds.reload();
    },
    failure : function(form, action)
    {
    var errmsg = action.result.msg;
    Ext.Msg.alert('修改操作失败',errmsg);
    }
    });
    }关键是这句 userGrid.ds.reload();
    和 //加载用户记录数据
    this.ds.load({params:{start:0,limit:50}});
      

  3.   

    function setPage(pbar, store){
        if(store.getTotalCount() % pbar.pageSize == 1)
            pbar.changePage(Math.floor(store.getTotalCount() / pbar.pageSize));
    }
    //pbar   Grid's PagingToolbar
    //store  Grid's store  
    reviewGridDs.reload(); 
    setPage(this.paging, this.infoStore);
      

  4.   

    为什么if(store.getTotalCount() % pbar.pageSize == 1) 
    从服务器已经删除了数据,应该store.getTotalCount() % pbar.pageSize == 0
    ?
      

  5.   

    还有Ext.PagingToolbar不支持changePage方法?
      

  6.   

    我也遇到了同样的问题,解决了,下面贴出代码,希望对你们有帮助:
    grid.getStore().reload({
                                    callback:function(){
                                        setPage(Ext.getCmp('pagingbar'), grid.getStore());
                                    }
                                });function setPage(tbar, store) {
        if (store.getTotalCount() % tbar.pageSize ==0) {  
            tbar.changePage(Math.floor(store.getTotalCount() / tbar.pageSize));
        }
    }需要强调的是:reload中的callback,如果直接reload()后调用setPage(……),会有麻烦,应为reload还没有完成就setPage,此时的store.getTotalCount() 还是原来的条数