解 决ExtJs分页grid中load数据为空时不能刷新Ext.PagingToolbar信息的问题
问题描述:
在extjs2.0的grid中,要根据不同的查询条件展示不同的数据,在第一次查出数据后显示在grid中,而在修改查询条件后,查询到的数据为空,这 时在grid中前没有刷新,还是显示的第一次查询结果.而需求认为此时应该清空列表,并刷新下面的上下页导航条.
解决办法:
在extjs的api中只提供了对store.removeAll()的方法,而对PagingToolbar在文档中却没有类似update()的方 法.通过阅读源码了解到PagingToolbar提供了一个方法叫updateInfo()可以做更新.
代码如下:
grid.store.load({//加载列表数据
params : {
start:0,
limit:20
},
callback :function(r,options,success){
if(!success){//没取到数据时返回的success=false
grid.store.removeAll();// 清除原有数据
//更新page导航信息
tbbar.updateInfo();
tbbar.afterTextEl.el.innerHTML = String.format("共 {0} 页", 1);
tbbar.first.setDisabled(true);
tbbar.prev.setDisabled(true);
tbbar.next.setDisabled(true);
tbbar.last.setDisabled(true);
tbbar.loading.disable();