[转]Ext.data.store详细说明

[size=medium][color=red]Ext.data.Store[/color][/size]是Ext中用来进行数据交换和数据交互的标准中间件,无论是Grid还是ComboBox,都是通过它实现数据读取、类型转换、排序分页和搜索等操作的。
[size=medium][color=red]Ext.data.Store[/color][/size]中有一个[size=medium][color=red]Ext.data.Record[/color][/size]数组,所有数据都放在这些[size=medium][color=red]Ext.data.Record[/color][/size]实例中,为后面的数据的读取和修改操作做准备。
[size=medium]
10.4.1 基本应用[/size]
在使用之前,首先要创建一个Ext.data.Store的实例,如下面的代码所示。
var data = [
['boy', 0],
['girl', 1]
];
var store = new Ext.data.Store({
proxy: new Ext.data.MemoryProxy(data),
reader: new Ext.data.ArrayReader({}, PersonRecord)
});
store.load();

每个store最少需要两个组件的支持,分别是proxy和reader,proxy用于从某个途径读取原始数据,reader用于将原始数据转换成Record实例。
这里我们使用的是[color=red]Ext.data.MemoryProxy[/color]和[color=red]Ext.data.ArrayReader[/color],将data数组中的数据转换成对应的几个PersonRecord实例,然后放入store中。store创建完毕之后,执行store.load()实现这个转换过程。
经过转换之后,store里的数据就可以提供给Grid或ComboBox使用了,这就是[color=red]Ext.data. Store[/color]的最基本用法。
[size=medium]
10.4.2 对数据进行排序[/size]
[color=red]Ext.data.Store[/color]提供了一系列属性和函数,利用它们对数据进行排序操作。
可以在创建[color=red]Ext.data.Store[/color]时使用sortInfo参数指定排序的字段和排序方式,如下面的代码所示。
var store = new Ext.data.Store({
  
proxy: new Ext.data.MemoryProxy(data),
reader: new Ext.data.ArrayReader({}, PersonRecord),
sortInfo: {field: 'name', direction: 'DESC'}
});

这样,在store加载数据之后,就会自动根据name字段进行降序排列。对store使用[color=red]store.setDefaultSort('name','DESC')[/color];也会达到同样效果。
也可以在任何时候调用sort()函数,比如[color=red]store.sort('name', 'DESC')[/color];,对store中的数据进行排序。
如果我们希望获得store的排序信息,可以调用[color=red]getSortState()[/color]函数,返回的是类似[color=red]{field: "name", direction: " DESC"}[/color]的JSON对象。
与排序相关的参数还有[color=red]remoteSort[/color],这个参数是用来实现后台排序功能的。当设置为[color=red]remoteSort:true[/color]时,store会在向后台请求数据时自动加入sort和dir两个参数,分别对应排序的字段和排序的方式,由后台获取并处理这两个参数,在后台对所需数据进行排序操作。[color=red]remoteSort:tru[/color]e也会导致每次执行sort()时都要去后台重新加
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值