ExtJs中Store简介(秘籍)
ExtJs中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集合
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等格式的数据。
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实例化时的参数。
1.
var
myStore =
new
Ext.data.Store({
2.
reader: myReader,
3.
proxy :
new
Ext.data.HttpProxy({
4.
method:
"POST"
,
5.
url:
'extjsTest/extjs_getEmpByDeptNo.action'
,
6.
})
7.
});
5、root是指定json组(个人这样理解的),算了,看json传过来的对象应该清楚了
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"
}]}
store.load() 代表加载数据store中的数据...(具体看api文档,武功秘籍下载地址:http://extjs.org.cn/download/)
ExtJs中Store简介(秘籍)相关推荐
- 对Extjs中store的多种操作
先来个声明,看着不错,贴过来的,没都测试过. Store.getCount()返回的是store中的所有数据记录,然后使用for循环遍历整个store,从而得到每条记录. 除了使用getCount() ...
- extjs中Store和grid的刷新问题
问题1:Store.load() 和Store.setproxy()区别 问题2:修改后的Grid 更新: Store.reload() 问题3,store删除后刷新会出问题 Store移除一行:St ...
- extjs中store的reload事件异步问题解决
转载自:http://blog.sina.com.cn/s/blog_8f8b7fc10100zd75.html store0.reload({params:{start:0, limit:10}}) ...
- extjs中store获取后台数据_Excel实战技巧64: 从工作簿中获取数据(不使用VBA)
学习Excel技术,关注微信公众号: excelperfect 这是在研读<Escape From Excel Hell>时学到的技术,从本工作簿中或者其他工作簿中获取所需要的数据,以便于 ...
- extjs中元数据_Extjs中Store小总结
http://blog.csdn.net/without0815/article/details/7798170 1.什么是store? Store类似于一个本地仓库(即数据存储器),包括有 Arra ...
- vuex结合php,vuex中store的使用介绍(附实例)
本篇文章给大家带来的内容是关于vuex中store的使用介绍(附实例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 一.状态管理(vuex)简介 vuex是专为vue.js应用程序 ...
- Extjs中给同一个GridPanel中的事件添加参数的方法
Extjs中给同一个GridPanel中的事件添加参数的方法: this.isUse = new Ext.Action({ text:'启用', sco ...
- Extjs中三种不同的数据提交方式
Extjs中三种不同的数据提交方式 Extjs的三种提交方式: 表单Ajax提交,普通提交,单独Ajax提交: 1.表单ajax提交(默认提交方式) 提交函数:当按下表单中的提交按钮时执行下面的btn ...
- [转]ExtJs中使用中碰到的三个问题的解决方法
这里的经验不是指对这种框架总体上面的一些介绍,只是记录了本月中使用ExtJs中遇到的3个问题的解决方法,这里还是要感谢Extjs论坛的 Animal和Condor,每次在我遇到拦路虎的时候,总能在他俩 ...
最新文章
- 区块链应用 | 用区块链颠覆视频直播,与视频卡顿、缓冲说再见!
- 怎么计算网站高峰期并发量和所需的带宽?
- 新模型SkipNet在ImageNet分类任务大放光彩!优化损失函数!
- Leetcode——连续子数组的最大和(剑指offer 42)
- 两种方案的demo示例
- vue中axios访问Java后端跨域问题解决
- Ubuntu图形界面更改软件下载源为清华镜像站以及解决等待apt退出的问题
- Log4j2 Zero Day 漏洞 Apache Flink 应对指南(二)
- unity3d大型互动照片墙
- 小白的linux练习(一)
- 从石器时代到硅器时代
- python数据清洗工具、方法、过程整理归纳(六、数据清洗之数据预处理(一)——重复值处理、缺失值处理)
- opencv h264压缩视频
- MacBook安装Golang Oracle数据库驱动程序
- C语言后缀.h文件和.c文件作用和区别
- JDBC批量插入sql-踩坑笔记
- SimpleDateFormat.parse()方法中的时区设置缺陷
- 计算机的英文怎么说不是computer,【英语写作】“开电脑”可不是“open the computer”,说错了很尴尬!...
- IE浏览器无法上网设置
- CMMI之度量与分析(MA)