stroe.fiter

搜索、定位和统计
Store 提供了以下搜索和定位记录的方法:
第一部分 Ext Core ● 12
each:枚举所有记录,当枚举函数返回false 时,终止枚举操作。其使用方法请看下面
代码:
store.each(function(rec){
//处理过程
});
filter:根据指定属性过滤记录。其使用方法请看下面代码:
//过滤掉不是name 不包含“张”的记录
store.filter('name','张',true,false);
代码中的过滤规则可使用字符串,也可以使用正则表达式。第3 个参数如果为false,则表示只
匹配开始位置,为true 则表示匹配任何位置;第4 个参数如果为false,则表示不区分大小写,为
true 则表示要匹配大小写。
filterBy:通过一个函数过滤记录。该函数会枚举每一个记录,然后根据函数返回值判断记
录是否被过滤。如果函数返回true,则包含该记录,如果返回false,则过滤掉该记录。其使
用方法请看下面代码:
//返回id 为单数的记录
store.filterBy(function(rec,id){
if(id %2==0){
return true;
}else{
retrun fase;
}
});
isFiltered:判断Store 当前是否处于过滤状态。如果是,返回true;否则,返回false。其使
用方法请看下面代码:
if(store.isFiltered()){
store.clearFilter();
}
clearFilter:将Store 恢复到没有进行过滤的状态,其使用方法可参考isFiltered 方法中的代码。
find:根据指定属性查找匹配的记录,并返回匹配的第一个记录的索引值。如果没有找到匹
配的记录,则返回-1。其使用方法请看下面代码:
var index=store.filter('name','张',2,true,false);
与 filter 方法一样,搜索值可以是字符串,也可以是正则表达式。第3 个参数为搜索开始位
置,默认值为0。第4 个参数如果为false,则表示只匹配开始位置,为true 则表示匹配任何位置。
第5 个参数如果为false,表示不区分大小写,如果为true 则表示要区分大小写。
findBy:通过一个函数查找匹配的记录并返回匹配的第一个记录的索引值。该函数会从指定
的开始位置枚举每一个记录,然后根据返回值判断记录是否匹配。如果函数返回true,则表
示已找不到匹配记录,枚举操作结束并返回匹配记录的索引值。如果没有找到匹配的记
录,方法返回值为-1。其使用方法请看下面代码:
store.findBy(function(rec,id){
if(id %2==0){
return true;
13 《Ext JS高级程序设计》
}else{
retrun fase;
}
},2);
在代码中,第2 个参数“2”表示查找的开始位置。
findExact:与find 方法作用一样,只是没有匹配位置和区分大小写参数。其使用方法可参
数find 方法。
getAt:根据索引值获取一个记录,其使用方法请看下面代码。
//获得第2 条记录
var rec=store.getAt(2);
getById:根据记录id 返回记录,其使用方法请看下面代码。
//获得id 为2 的记录
var rec=store.getById(2);
getCount:返回Store 的记录总数。如果没有采用分页方式,则其返回结果与getTotalCount
方法一样。如果采用了分页方式,则getCount 返回的是Store 的记录总数,getTotalCount 返
回的才是数据库的记录总数,不过前提是要在Reader 定义中包含有记录总数的属性。其使
用方法请看下面代码:
var count=store.getCount();
getTotalCount:返回数据库的记录总数,不过前提是Reader 必须包含记录总数的属性。其
使用方法请参考getCount 方法。
getModifiedRecords:获取执行commit 后被修改的记录。要注意的是,返回的记录不包括被
删除的记录。其使用方法请看下面代码:
var recs=store.getMpdifiedRecords ();
getRange:返回指定范围内的记录。其使用方法请看下面代码:
//返回所以记录
var recs=store.getRange();
//返回第2 条到第10 条之间的记录。
var recs=store.getRange(2,10);
indexOf:返回记录的索引值。如果记录在Store 中不存在,则返回-1。其使用方法请看下面
代码:
var index=store.indexOf(rec);
indexOfId:根据记录id 返回记录的索引值。如果记录id 在Store 中不存在,则返回-1。
其使用方法请看下面代码。
var index=store.indexOfId(2); //返回id 为2 的记录索引值
query:获取符合指定条件的记录。其返回值为Ext.MixedCollectionxt 对象。其使用方法可
参考filter 方法。
queryBy:通过一个函数获取指定条件的记录。该函数会枚举每一个记录,然后根据函数返
回值判断记录是否被选取。如果函数返回true,则包含该记录,如果返回false,则不选取该
记录。其使用方法可参考filterBy 方法。

你可能感兴趣的:(正则表达式,ext)