第一步:定义记录选择选项变量:
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"));
}
}
如上,我们的问题就可以得到圆满的实现