Extjs之访问store

知道store从proxy获取数据之后,就可以访问store里面的数据了: 
1,store.getCount() 得到store总记录数,也就是行数  
2,store.getAt(i); 获得store中第i条记录的引用 
3,store.getAt(i).get('value') 获得store中第i条记录的'value'字段的值
Store.getCount()返回的是store中的所有数据记录,然后使用for循环遍历整个store,从而得到每条记录。  除了使用getCount()的方法外,还可以使用each()函数,如下面的代码所示。
 store.each(function(record) {     
    alert(record.get('name'));    
});  
  Each()可以接受一个函数作为参数,遍历内部record,并将每个record作为参数传递给function()处理。  如果希望停止遍历,可以让function()返回false。  也可以使用getRange()函数连续获得多个record,只需要指定开始和结束位置的索引值,如下面的代码所示。 1. var records = store.getRange(0, 1);     
   
for (var i = 0; i < records.length; i++) {     
     var record = records[i];     
     alert(record.get('name'));     
 }  

如果确实不知道record的id,也可以根据record本身的id从store中获得对应的record,
如下面的代码所示。  
 store.getById(1001).get('name')  
 EXT还提供了函数find()和findBy(),可以利用它们对store中的数据进行搜索,如下面的代码所示。 
 find( String property, String/RegExp value, [Number startIndex], [Boolean anyMatch],[Boolean caseSensitive] )     
在这5个参数中,只有前两个是必须的。 
第一个参数property代表搜索的字段名; 
第二个参数value是匹配用字符串或正则表达式;  
第三个参数startIndex表示从第几行开始搜索;  
第四个参数anyMatch为true时,不必从头开始匹配; 
第五个参数caseSensitive为true时,会区分大小写。  
如下面的代码所示:
            var index = store.find('name','g');     
            alert(store.getAt(index).get('name')); 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值