Ext.define('MoYi.model.bnd.businessGoodsModel', {
extend : 'Ext.data.Model',
fields : [ {
name : 'id',
type : 'int'
}, {
name : 'goodsName',
type : 'string'
}, {
name : 'price',
type : 'float'
}, {
name : 'type',
type : 'boolean'
}, {
name : 'ifselect',
type : 'boolean'
} ]
});
     var mysel = Ext.create("Ext.selection.CheckboxModel", {
checkOnly : true
});     mystore = Ext.create('Ext.data.Store', {
model : 'MoYi.model.bnd.businessGoodsModel',
data : single
});

var records = [];// 存放选中记录
for (var i = 0; i < mystore.getCount(); i++) {
var record = mystore.getAt(i);
if (record.data.ifselect) {// 根据后台数据判断那些记录默认选中
records.push(record);
}
}
mysel.select(records);// 执行选中记录

gridpanl的部分代码
        xtype : 'gridpanel',
loadMask : true, // 加载提示{ msg: '正在加载数据,请稍侯……' }
selModel :mysel,
multiSelect : true,
store : mystore,extjsjavascript

解决方案 »

  1.   


    //注册复选框选择模式别名为selection.checkboxmodel
    Ext.ClassManager.setAlias('Ext.selection.CheckboxModel' , 'selection.checkboxmodel');//gridPanel里面加上这些属性
    multiSelect : true , //支持多选
    selModel : {
      selType : 'checkboxmodel' //复选框选择模式Ext.selection.CheckboxModel
    },
    thar : [{
      text : '取到所选行',
      handler : function (){
          var msg = '';
          var rows = grid.getSelectionModel().getSelection();
          for (var i = 0 ; i < rows.length ; i++){
               msg = msg + rows[i],get('name') + '\n' ;
          }
          alert(msg);
      }
    }]在你的gridPanel 加上复选框选择模式就可以了。