最近使用EXTJS的pagingtoolbar时无意中发现,当页面打开然而尚未加载数据前,分页控件下方的refresh按钮时可以点击的,然而点击却一直处于loading状态。打开firebug发现原来因为是报错,才一直处于loading状态。
值得注意的是,当执行查询操作之后再次点击刷新按钮却不会报错,数据也可以显示。即使查询操作返回的结果为空依然可以正常刷新,只是刷新后无数据。
既然首次加载页面不能执行刷新,那么只要在首次加载的时候隐藏刷新按钮,在执行查询操作之后再显示即可以避免这个问题。
首先定义全局变量refreshStr:
var refreshStr="";
然后在grid之后隐藏刷新按钮:
var length=dataGrid.dockedItems.keys.length;
for(var i=0;i<length;i++){
if(dataGrid.dockedItems.keys[i].indexOf("pagingtoolbar")!=-1){
refreshStr=dataGrid.dockedItems.keys[i];
}
}
dataGrid.dockedItems.get(refreshS