ExtJs中Store的种类
ExtJs中Store的种类
ExtJs中Store的种类一、什么store
Store类似于一个本地仓库(即数据存储器),包括有 ArrayStore,DirectStore,GroupingStore,JsonStore,XmlStore(都是store的子类),最终主要用于提供给panel去显示.
Store由Proxy(数据源)和DataReader(解读数据)组成
1、(Proxy)数据源:一般是后台的值,习惯性的把它转换成json对象给store
2、(DataReader)读取数据:获得了数据后需要解析数据,DataReader(fields属性其实是Record对象的)解析数据并指定格式.
二、store传参的几种方法
//第一种
var store = new Ext.data.Store({
baseParams: {
params1 : '1',
params2 : '2'
}
});
//第二种
var params = {start:0,limit:limit};
store.load({params: params});
//第三种
store.load({
params:{
start:0,
limit:10
}
});
//第四种
store.baseParams=params;
三、Ext.data.Store实例
var store = new Ext.data.Store({
/*
proxy的作用是通过内存获取原始数据,然后将获取的数据交给对应的读取器进行处理
MemoryProxy只能从Javascirp对象获取数据,可以直接把数组或者JSON和XML格式的数据交给他处理
*/
proxy : new Ext.data.MemoryProxy([
['tom',18],
['cat',20]
]),
//用于将原始数据转换成record实例
reader : new Ext.data.ArrayReader({
fields : [
{name : 'name',type : 'string'},
{name : 'age',type : 'int'}
]
})
});
store.load();
四、Ext.data.ArrayStore实例
var store = new Ext.data.ArrayStore({
fields: ['name','age'],
data: [
['tom',18],
['cat',20]
]
});
五、Ext.data.SimpleStore实例
SimpleStore=Store+MemoryProxy+ArrayReader
SimpleStore是不需要写load()方法
var store = new Ext.data.SimpleStore({
data : [
['tom',18],
['cat',25]
],
fields : [
{name : 'name',type : 'string'},
{name : 'age',type : 'int'}
]
});
六、Ext.data.JsonStore实例
JsonStore=Store+HttpProxy+JsonReader
JsonStore需要写load()方法
var store = new Ext.data.JsonStore({
url : 'list。ashx',
root : 'root',
fields : [
{name : 'name',type : 'string'},
{name : 'age',type : 'int'}
]
});
store.load();
其中从 list。ashx获取的数据如:
[{'id':1,'name':'小王','sex':'男'}, {'id':2,'name':'小李','sex':'男'}, {'id':3,'name':'小兰','sex':'女'} ];
七、Ext.data.GroupingStore对数据分组
store.groupBy('sex');//重新对sex进行分组
store.clearGrouping();//清除分组
如果使用GroupingStore就要给grid设置view配置项
view: new Ext.grid.GroupingView({
enableGroupingMenu:false,
groupByText:'分组',
showGroupsText:'显示',
hideGroupedColumn:true,
forceFit:true,
groupTextTpl: '{text} ({[values.rs.length]}条数据)'
}),
分组本地数据
var store = new Ext.data.GroupingStore({
data : [
['tom',18,'男'],
['cat',25,'女'],
['team',18,'男'],
['jock',26,'女']
],
reader : new Ext.data.ArrayReader({
fields : [
{name : 'name',type : 'string'},
{name : 'age',type : 'int'},
{name : 'sex',type : 'string'}
]
}),
groupField : 'age',//设置分组字段
sortInfo : {
field : 'age',
direction : 'desc'
}
});
- vue组件keep-alive的原理是什么(如何理解Vue简单状态管理之store模式)
- sqlserver查看创建的索引(浅述SQL Server的聚焦强制索引查询条件和Columnstore Index)
- cookie政策及设置(详解操作cookie的原生方法cookieStore)
- ExtJs中Store的种类
- 这里输入关键词(怎么输入关键词搜索)
- 得这个 难治病 的人太多了,300个人赶到杭州商量怎么办(得这个难治病的人太多了)
- 经度,世界时间腕表的灵魂(世界时间腕表的灵魂)
- 阿里最新财报公布 三季度营收增长3 ,将增加150亿美元回购额度 在美股价小涨(阿里最新财报公布)
- 赵薇时胖时瘦 最近变美少女 原因在这里 躺着就变瘦(赵薇时胖时瘦最近变美)
- 学会这26种姿势,你就可以和兵哥哥切磋了(你就可以和兵哥哥切磋了)
热门推荐
- mysql not exists用法(mysql中EXISTS和IN的使用方法比较)
- 定时删除linux日志(Linux使用shell脚本定时删除历史日志文件)
- 阿里云电脑收费标准是多少(阿里云主机最便宜的多少钱一年?)
- 如何提升网站在移动端的打开速度
- linux查看磁盘空间异常占用(Linux磁盘空间释放问题整理)
- dedecms 添加单页(织梦dedecms内页、详情页中调用文章作者信息的方法)
- mysql索引建立及应用(MYSQL创建索引,这些知识应该了解)
- python豆瓣电影爬虫课程设计报告(详解python 模拟豆瓣登录豆瓣6.0)
- 程序员职业该如何规划
- mysql查询慢有哪些原因(MySQL 查询速度慢的原因)