1.什么store?
Store类似于一个本地仓库(即数据存储器),包括有 ArrayStore,DirectStore,GroupingStore,JsonStore,XmlStore(都是store的子类)
最终主要用于提供给panel去显示.
Store由Proxy(数据源)和DataReader(解读数据)组成。
一.(Proxy)数据源:一般是后台的值,习惯性的把它转换成json对象给store(注:个人理解)
二.(DataReader)读取数据:获得了数据后需要解析数据,DataReader(fields属性其实是Record对象的)解析数据并指定格式.
三.store存储好的数据最后交给panel
2.store中重要的属性和方法
属性:data、proxy、reader、url、root ....
方法:load
1、如果配置了data,则proxy和url无效,且不需要调用load方法来生成Record集合
view sourceprint?1.var store=new Ext.data.ArrayStore({
2.
fields: ['DEPTNO', 'DNAME', 'LOC'],
3.
data:Ext.datas.mess //引用data.js 数据
4.
});
2、如果没有配置data,则必须设置proxy或url,或两者都设置。此时,如果没有将autoLoad设置为true,
那么需要手动进行load方法的调用。就是为了得到数组、Json或Xml等格式的数据。
view sourceprint?01.//JsonStore是负责后台返回json对象的处理http://
02.
var store1 = new Ext.data.JsonStore({
03.
autoDestroy: true,
04.
url: 'extjsTest/extjs_getEmpByDeptNo.action',
05.
storeId: 'myStore',
06.
root:"emp",//json对象组 类似这种对象:{emp:[{EMPNO:'xx',....}]}
07.
fields: [
08.
{name: 'EMPNO', mapping:'EMPNO', type: 'float'},
09.
{name: 'ENAME', mapping:'ENAME',type: 'string'},
10.
{name : 'HIREDATE', type : 'date', mapping : 'HIREDATE'},
11.
{name: 'DEPTNO', mapping:'DEPTNO', type: 'float'}
12.
]
13.
});
3、reader是必须的,用以指定数据解析器,
需要根据获得的数据格式指定相应类型的解析器。(上面简写了,其实fidlds是由DataReader对象创建Record实例的一个属性)
4、如果没有指定proxy,但指定了url,则会默认用HttpProxy作为数据源,并将url作为HttpProxy实例化时的参数。
view sourceprint?1.
2.
var myStore = new Ext.data.Store({
3.
reader: myReader,
4.
proxy : new Ext.data.HttpProxy({
5.
method: "POST",
6.
url: 'extjsTest/extjs_getEmpByDeptNo.action',
7.
})
8.});
5、root是指定json组(个人这样理解的),算了,看json传过来的对象应该清楚了
view sourceprint?1.{emp:[{"EMPNO":7369,"HIREDATE":"1980-12-17","ENAME":"SMITH"},{"EMPNO":7499,"HIREDATE":"1981-02-20","ENAME":"ALLEN"},{"EMPNO":7521,"HIREDATE":"1981-02-22","ENAME":"WARD"},{"EMPNO":7566,"HIREDATE":"1981-04-02","ENAME":"JONES"},{"EMPNO":7654,"HIREDATE":"1981-09-28","ENAME":"MARTIN"}]}
分享到:
相关推荐
ExtJs中Store加载(load)时候提示信息
storebar extjs通过store实现toolbar
extjs动态生成model、store、panel;sql拼接等多种技术难点
去除extjs4.2MVC中的Model层和Store层,使用工厂模式来创建Model层和Store层简化代码。
主要介绍了深入浅析Extjs中store分组功能的使用方法的相关资料,需要的朋友可以参考下
extjs4 对多种store数据 ,以多种方式绑定到界面上,以一例子以说明编写
EXTJS4自学手册——EXT数据结构组件(store) 三、Extjs布局 EXTJS4自学手册——EXT容器布局(Auto,Anchor,Absolute,Hbox) EXTJS4自学手册——EXT容器布局(Vbox,Accordion,Table,Column) EXTJS4自学手册——EXT...
第六讲:extjs4.0的数据集store 第七讲:extjs4.0的事件机制Event 第八讲:extjs4.0的Ajax 第九讲:extjs4.0的core包和Ext类 第十讲:extjs4.0的util包 论坛地址是: http://www.uspcat.com/?fromuid=413
1、关于加载和回调的问题 ExtJs的Store在加载时候一般是延迟加载的,这时候Grid就会先出现一片空白,等加载完成后才出现数据;因此,我们需要给它添加一个提示信息! 但是Store却没有waitMsg属性。 解决方案: 1.给...
ExtJS grid过滤操作,可以动态操作本地的store更改筛选的内容
extjs4下的STOREMENU,包含DEMO程序
这是一个自己根据项目经验编写的文档,我希望使用者能够从文档中获取有关ExtJS的使用技术!
Extjs 4.2 --store grid form mvc模式等一些demo
但是在 3.0 中这样无法增加参数,于是在 ExtJs官方论坛上找到了解决方案: 代码如下: this.store.on(‘beforeload’, function(store,options) { var new_params={参数1: ‘111’, 参数2: ‘111’ }; Ext.apply...
第十二讲:extjs4.0的MVC重构十一讲中的grid(中) 第十三讲:extjs4.0的高级组建grid(下)列模式 第十四讲:extjs4.0的高级组件grid补充01选择模式selection和表格特性feature 第十五讲:extjs4.0的高级组件grid...
第十二讲:extjs4.0的MVC重构十一讲中的grid(中) 第十三讲:extjs4.0的高级组建grid(下)列模式 第十四讲:extjs4.0的高级组件grid补充01选择模式selection和表格特性feature 第十五讲:extjs4.0的高级组件grid补充02...
6. Ext.data.Store篇 10 7. Ext.data.JsonReader篇一 12 8. Ext.data.JsonReader篇二 15 9. Ext.data.HttpProxy篇 19 10. Ext.data.Connection篇一 20 11. Ext.data.Connection篇二 24 12. Ext.Updater篇一 26 13. ...
function testFormValidate(){ Ext.QuickTips.init(); Ext.form.Field.prototype.msgTarget="under"; var fset = new Ext.FormPanel({ ... store:["男","女","保密"], emptyText:"请选择性别" } ] } ] });