Ext.Store 的使用

来源:互联网 发布:mac版软件后缀 编辑:程序博客网 时间:2024/04/30 03:25

store是一个为Ext器件提供record对象的存储容器,行为和属性都很象数据表

 

//方法:不列举继承来的方法

Store(Object config )//构造,config定义为

{

   autoLoad :Boolean/Object,//自动载入

   baseParams :Object,//只有使用httpproxy时才有意义

   data :Array,//数据

   proxy : Ext.data.DataProxy,//数据代理

   pruneModifiedRecords :boolean,//清除修改信息

   reader : Ext.data.Reader,//数据读取器

   remoteSort : boolean,//远程排序?

   sortInfo :Object,//{field:"fieldName", direction: "ASC|DESC"}这样的排序对象

   url :String,//利用url构造HttpProxy

}

 

add( Ext.data.Record[] records) :void  //增加记录recordsstore

 

addSorted( Ext.data.Recordrecord ) :void  //增加recordstore并排序(仅本地排序时有用)

 

clearFilter(Boolean suppressEvent ) :void  //清除过滤器

 

collect(String dataIndex, [Boolean allowNull], [BooleanbypassFilter] ) :Array  //收集由dataIndex指定字段的惟一值

 

commitChanges() :void  //提交Store所有的变更,会引发Update事件

 

filter(String field,String/RegExpvalue, [Boolean anyMatch], [Boolean caseSensitive] ) :void  //设定过滤器

   field:String//字段名

   value:String//RegExp如果是字符器,检查field是否以value开始,如果是正则,检查是否匹配

   anyMatch:Boolean//匹配任何部分而不仅令是开始

   caseSensitive:Boolean//大小写敏感

 

filterBy( Function fn,[Object scope] ) :void  //更强悍的过滤方法.fn接收两个参数recordid

 

find(String property,String/RegExpvalue, [Number startIndex], [Boolean anyMatch], [Boolean caseSensitive] ) :Number  //找到符合条件的第一条记录,参数同filter

 

findBy( Function fn,[Object scope], [Number startIndex] ) : Number  //参见filterBy

 

getAt( Number index ) :Ext.data.Record  //依充号得到record对象

getById(String id ) : Ext.data.Record  //id得到record对象

 

 

getCount() :void  //得到记录数

 

getModifiedRecords() :Ext.data.Record[] //得到修改过的记录集

 

getRange( [NumberstartIndex], [Number endIndex] ) : Ext.data.Record[] //得到指定范围的记录集合

 

getSortState() :void//得到排序状态:显然不是void而是返回一个排序对象,sortInfo一样的结构{field:"fieldName", direction: "ASC|DESC"}

 

getTotalCount() :void//这个对于翻页信息还是很有用的

 

indexOf( Ext.data.Recordrecord ) : Number//由记录得到序号

indexOfId(String id ) : Number //id得到序号

 

insert( Number index,Ext.data.Record[] records ) :void //在指定的位置插入记录,并引发add事件

 

isFiltered() :Boolean //当前设置了过滤器则返回真

 

load(Object options ) :void //由指定的Proxy使用指定的reader读取远程数据

options定义为

{

   params:Object,//请求url需要附加的参数

   callback :Function//回叫方法,接收三个参数

       //r : Ext.data.Record[] //返回的record数组

       //options: Options load方法传入的options

       //success: Boolean //成功

   scope :Object,//范围.默认是store本身

   add :Boolean//追加还是更新

}

 

 

loadData(Object data, [Boolean append] ) :void //用法比load简单一点,目的是一样的,只是这次数据由本地读取

 

query(String field,String/RegExpvalue, [Boolean anyMatch], [Boolean caseSensitive] ) : MixedCollection

queryBy( Function fn,[Object scope] ) : MixedCollection//查询,参数和find类似,但返回所有符合条件的record,而不是第一个符合条件记录的序号

 

rejectChanges() :void //放弃所有的变更

 

reload( [Object options] ):void//重新载入,相当于load(options,false),如果连options都没有传入,则取最后一次load时使用的参数

 

remove( Ext.data.Recordrecord ) :void//移除指定记录

 

removeAll() :void //移除所有记录

 

setDefaultSort(String fieldName, [String dir] ) :void //设置默认排序规则

 

sort(String fieldName, [String dir] ) :void //排序

 

sum(String property, Number start, Number end ) :Number //property字段由start开始到end求和

 

事件列表

add : (Storethis,Ext.data.Record[] records, Number index )

beforeload : (Storethis,Object options )

clear : (Storethis )

datachanged : (Storethis )

load : (Storethis,Ext.data.Record[] records,Object options )

loadexception : ()

metachange : (Storethis,Object meta )

remove : (Storethis,Ext.data.Record record, Number index )

update : (Storethis, Ext.data.Recordrecord,String operation )

看名字都很简单,参数也不复杂,略过

 

 

 

 

 

问题:怎么获取Stroe中的某一个选项的值?

 

回复:

store.find(field,value)通过一个字段的名和其对应的值,获取store中的一个record的索引,假如将之给变量index

 

store.getAt(index)  来获取该Record给变量record

 

record.get(otherField)取得otherField所对应的值


问题:Store改变后GridPanel刷新

 

回复:grid.getView().refresh();




原创粉丝点击