EXT3.4
现在有一个功能,需要有两个tab页,一个列表tab,一个TreeGrid展示tab
1.列表tab里点击修改,修改之后,TreeGrid这个tab需要展示最新的内容
2.TreeGrid的tab页里有一个重置按钮,点击重置,局部刷新该tab
在TreeGrid这个tab下定义id
由于该TreeGrid 的cm是经过数据库查找动态显示的,如果在列表配置修改的时候,改动了,该cm的展示也是跟着改变的,而且由于TreeGrid 的重新加载事件暂未知,所以就讲 生成的这个TreeGrid 放到function里,然后return出 这个TreeGrid 来使用。
首先页面初次加载,对该TreeGrid的tab进行 removeAll(); 然后在进行add和doLayout操作:
Ext.getCmp("ID").removeAll();
var treeGrid = getTreeGird();
Ext.getCmp("ID").add(treeGrid);
Ext.getCmp("ID").doLayout();
接着是修改,本来是准备定义在修改完成之后,对该TreeGrid的tab进行 removeAll(); 然后在进行add和doLayout操作,
但是实际测试发现,移除了之后,虽然在js控制台调试中是add进去了,但是页面始终没有将该TreeGird显示出来。
最后这里是使用了tab的监听事件:
listeners:{
'tabchange':function (t, n) {
reloadTreeGrid();
}
}
监听到切换了tab,然后进行对TreeGrid的tab的重新加载。
最后的重置刷新,就直接是写在了调用的success里面进行对该tab的移除和添加。
(window.location.reload();虽然也是能进行页面的刷新,但是这种页面全部刷新体验感觉不好)