我的页面中有几个extjs组件,图表,网格,formPanel等,现在我遇到了一些刷新它们的问题,以gridPanle为例:
这是网格代码:
var myStore=new Ext.data.JsonStore({
autoLoad:true,
fields:['name','age'.....]
});
var grid = new Ext.grid.GridPanel({
stroe:myStore,
colums:myColumns
//....other config
});
当 stroe 的 reload 事件被触发(由用户触发)时,store 将从服务器端获取新数据,网格面板刷新,这很好,
但是有时候服务端的数据是空的(比如,没有根据客户端的请求找到数据),如果是这样,网格面板也会保存上次请求的数据,
如何使网格刷新(不显示)并向用户显示未找到数据的内容?
我页面中的其他组件也是如此,大多数是一些图表。
我曾经想过使用添加一个处理程序来处理组件刷新的事件,在它刷新之前,检查存储,如果存储为空,那么做一些事情,但是我发现我无法获取一个组件的存储,也他们的事件是不同的,例如:
对于 GridPanle,有一个 beforerender事件
http://dev.sencha.com/deploy/dev/docs/?class=Ext.grid.GridPanel
对于一个图表,有一个beforerefresh 事件
http://dev.sencha.com/deploy/dev/docs/?class=Ext.chart.Chart
那么使用渲染还是刷新?
有任何想法吗?