`
liubl2011
  • 浏览: 234381 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论

ExtJs4 bbar分页带参数查询

阅读更多
Extjs 版本ext-4.0.2a

今天遇到个问题,带参数查询后在点bbar上的分页,居然参数没有带到后台。
记得以前做过Extjs3类似功能,代码如下
store.on('beforeload', function(){
     Ext.apply(this.baseParams, {
         name: select_name,
         phone_num:select_phone 
    });
});

但是copy过来不好用,所以去度娘那查了一下,
现转载过来,原链接为http://www.vipaq.com/Detail/view/item/239

pagingtoolbar的分页,在store.load({params:{type:type_combo.getValue()}})带参数查询,默认只能查一页。分页到下一页时,是不带参数的。

解决方法是,在store被load之前给页参数赋值就可以了。

在Ext3中使用的方法是:

store.on('beforeload',function(){  

     store.baseParams = {type:type_combo.getValue()};  

});  


上面的方法在Ext4中已经不灵了,应该改成:

 store.on("beforeload",function(){  

     Ext.apply(store.proxy.extraParams, {type:type_combo.getValue()});  

}); 


转载完毕。
分享到:
评论
2 楼 liubl2011 2013-12-05  
一楼的做法也可以,业务一般是这样的点翻页的时候把查询条件带到翻页的查询中去,两个方法都可以,看你业务是怎么实现的,如果是查询页面,首先点查询的时候保留查询条件,然后按照我那种或者一楼那种方式把保留的条件赋值给store查询这样就ok了。
1 楼 aliahhqcheng 2013-08-14  
我是这样解决的


buildBbar : function() {
var me = this;
        
var bar = Ext.create('Ext.PagingToolbar', {
store : me.store,
displayInfo : true,
displayMsg : '展示第 {0} - {1} 条 , 共 {2} 条',
emptyMsg : "无数据",
                     listeners : {
                        'change':function(eOpts){
                    var begintime = new Date(Ext.getCmp('begintime').getValue()).getTime() / 1000;
                    var endtime = new Date(Ext.getCmp('endtime').getValue()).getTime() / 1000;
                   
                    if (begintime != '' || endtime != '') {//分页查询参数传递
                        me.store.proxy.extraParams["begintime"]=begintime;
                         me.store.proxy.extraParams["endtime"]=endtime;
                        }
                        return true;
                    }
                       
                        }
                   
}); 
        return bar;
     
}

相关推荐

Global site tag (gtag.js) - Google Analytics