项目中用到Ext4.2,初次接触,用的不是太熟,做个总结,恳请指正!
1、grid重新设置条件,查询结果不是从第1页开始
在处理grid条件查询时,点击搜索按钮调用store.load()方法时,会把当前页数也一并传入到后台,具体现象为:翻页到第2页时,再输入新的查询条件,查询结果显示仍然为第2页,预期应该是新的搜索结果从第1页开始。解决此方法如下:
var params = me.store.getProxy().extraParams; //获得store中已经存在的搜索条件
Ext.apply(params,me.getFilterParam()); //新的搜索条件和原来的搜索条件合并
me.store.loadPage(1); //重置store的值为第一页,并且重新搜索,此方法会访问一遍后台,无需再次调用load等方法。
2、grid翻页不能向后台传入过滤条件
现象:gird使用翻页插件时,点击下一页,访问后台时,并未将搜索条件中参数传入后台,仅仅将页数传到了后台,第2页显示的内容就已经不再是带条件的查询结果了。
解决方法:在pagingtoolbar中添加beforechange事件,在此事件中加入代码
var params = me.store.getProxy().extraParams; //获取page参数,
Ext.apply(params,me.getFilterParam()); //将page参数和搜索条件参数合并到一起(me.getFilterParam()方法是获取搜索条件中的参数,返回一个查询条件对象,是我自己写的一个方法)。