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