ExtJS教程(6)---Ext.data.Store

来源:互联网 发布:snb自动交易软件 编辑:程序博客网 时间:2024/04/29 17:48

Store通常与Model结合使用,Store是Model的集合

 Ext.define('User', {     extend: 'Ext.data.Model',     fields: [         {name: 'firstName', type: 'string'},         {name: 'lastName',  type: 'string'},         {name: 'age',       type: 'int'},         {name: 'eyeColor',  type: 'string'}     ] }); var myStore = Ext.create('Ext.data.Store', {     model: 'User',     proxy: {         type: 'ajax',         url: '/users.json',         reader: {             type: 'json',             rootProperty: 'users'         }     },     autoLoad: true });
还可以这样写

Ext.create('Ext.data.Store', {     fields:['firstName','lastName','age','eyeColor']     proxy: {         type: 'ajax',         url: '/users.json',         reader: {             type: 'json',             rootProperty: 'users'         }     },     autoLoad: true });

第一种写法适合在项目开发中使用,Model类很明确,并且可以再Model中定义增删改查的地址,在得到Model之后可以直接对Model操作,同时可以在Model中做数据类型的转换及数据验证。

第二种适用于快速开发,仅仅局限于对Model中数据的使用,无法定义Model中属性的数据类型。

store的常用方法有下面这些:

count( [grouped] ) : Number
--统计Store中的总记录数


each( fn, [scope] )
--遍历Store中的Model


filter( [filters], [value] )
--过滤数据


filterBy( fn, [scope] )
--过滤数据 fn(record,id),返回true表示匹配


find( fieldName, value, [startIndex], [anyMatch], [caseSensitive], [exactMatch] ) : Number
--根据字段名及字段值查找Model,返回的是Model在Store中的索引位置


findBy( fn, [scope], [startIndex] ) : Number
--根据方法查找数据,fn(record,id),返回true表示匹配,返回的是Model在Store中的索引位置


getAt( index ) : Ext.data.Model
--获取第i个Model


getById( id ) : Ext.data.Model
--根据ID获取数据


load( [options] )
--加载数据,执行load方法Store会从后台请求数据


loadData( data, [append] )
--将data加载到Store中


nextPage( options )
--下一页


previousPage( options )
--上一页


query( property, value, [anyMatch], [caseSensitive], [exactMatch] ) : Ext.util.MixedCollection
--根据字段名及字段值查找Model,返回Model集合


queryBy( fn, [scope] ) : Ext.util.MixedCollection
--根据方法查找数据,fn(record,id),返回true表示匹配,返回Model集合


reload( options )
--重新加载Store


remove( records )
--删除Store中的数据


removeAll( [silent] )
--删除Store中所有的数据


setProxy( proxy ) : Ext.data.proxy.Proxy
--设置Ajax代理


1 0
原创粉丝点击