Extjs3.3.1 实现翻页后,可记录已经选择的选项

第一步:定义记录选择选项变量:

 

var collection=new Ext.util.MixedCollection(); 

 

 

第二步:在store的lisenters属性上添加两个event. 如下:

 

load:function(store, records, options){
		    		//check recode chose
		            var sm = grid.getSelectionModel();
				    store.each(function(rec) {
				        if (collection.containsKey(rec.get("uid"))) {
				            sm.selectRecords([rec], true);
				        }
				    });
		    	},
                beforeload : function(store,options){  
	                    var sm = grid.getSelectionModel();
					    store.each(function(rec) {
					        if (sm.isSelected(rec)) {
					            collection.add(rec.get("uid"),{id:rec.get("uid"),name:rec.get("account")});
					        } else {
					            collection.removeKey(rec.get("uid"));
					        }
					    });
                }

第三步:在girdpanel的CheckboxSelectionModel上添加两个事件.如下

 

 

listeners:{
				rowselect:function(sm, rowIndex, rec){
					collection.add(rec.get("uid"),{id:rec.get("uid"),name:rec.get("account")});
				},
				rowdeselect : function(sm, rowIndex,rec ){
					 collection.removeKey(rec.get("uid"));
				}
			}

 

如上,我们的问题就可以得到圆满的实现

 

你可能感兴趣的:(ExtJs)