[转]ExtJS之遍历Store

原文地址:http://blog.sina.com.cn/s/blog_67cc6e7d0100ox6u.html

ExtJS中,一般很少需要遍历Store,因为它的selectModel很好用,无论是单行选择还是checkbox的多行选择,都可以根据Grid的

XXXGrid.getSelectionModel().getSelections().length

获得选择信息,但是在特殊情形下还是需要遍历Store的,demo如下:

var num=titleData.getCount();
    var checkedNum=0;
    var ids='';
    if(num>0){
       for(var i=0;i<num;i++){
        var ch=titleData.getAt(i).get('flagZ');
        var id=titleData.getAt(i).get('id');
        if(ch==1){
         checkedNum=checkedNum+1;
         ids=ids+id+",";
        }
       }
       if(checkedNum==0){
        Ext.MessageBox.alert('提示','请至少选择一项');
       }else{
        Ext.MessageBox.alert('提示','选中项为:'+ids);
       }
    }else{
       Ext.MessageBox.alert('提示','当前记录为空,无法操作!');
    }

解释:

1.titleData.getCount();   -----titleData为store的名称,getCount()获得当前缓存中的记录数

2.titleData.getAt(i).get('id'); ------i就记录的行号(从0开始),获得第i行id的值