【发布时间】:2011-04-28 09:26:58
【问题描述】:
我的页面中有几个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会从服务器端获取新数据,grid panel刷新,这样就好了,
但是有时候服务端的数据是空的(比如根据客户端的请求没有找到数据),如果是这样,网格面板也保存了上次请求的数据,
如何使网格刷新(不显示任何内容)并向用户显示未找到数据的内容?
我页面中的其他组件也是如此,大多数是一些图表。
我曾想过使用添加一个处理程序来处理组件刷新的事件,在它刷新之前,检查存储,如果存储为空,那么做一些事情,但是我发现我无法获取一个存储组件,它们的事件也不同,例如:
对于 GridPanle,有一个 beforeerender
事件http://dev.sencha.com/deploy/dev/docs/?class=Ext.grid.GridPanel
对于图表,有一个 beforerefresh
事件http://dev.sencha.com/deploy/dev/docs/?class=Ext.chart.Chart
那么使用渲染还是刷新?
有什么想法吗?
【问题讨论】:
标签: extjs refresh reload store