您的位置:首页 > 其它

如何在页面打开后根据条件让EditorGridPanel的某一行的复选框默认选中?

2015-07-22 13:58 288 查看
this.sm.selectAll()等选中方法放在grid的render和afterrender,store的load事件中都没效果,最后使用的是grid的viewready

extjs代码如下:

Ext.onReady(function() {

var rownumber = new Ext.grid.RowNumberer({

header:"序号",

width:50

});



var data2 = [{id:"S1",name:"张三",sex:"男",bornDate:"1994-03-03"},{id:"S2",name:"李四",sex:"女",bornDate:"1990-13-03"}];

var store2 = new Ext.data.JsonStore({

autoLoad:false,

//data:data2,

fields:["id","name","sex",{type:"date",name:"bornDate",dateFormat:"Y-n-j"}]

});

var data3 = [[1,"男"],[2,"女"]];

var store = new Ext.data.ArrayStore({

data :data3,

fields:["id","sex"]

});

var sexCombo = new Ext.form.ComboBox({

transform:"sexList",

triggerAction:"all",

lazyRenderer:true

});

this.sm = new Ext.grid.CheckboxSelectionModel();

var columnModel2 = new Ext.grid.ColumnModel([

rownumber,this.sm,{header:"学号",dataIndex:"id"},

{header:"姓名",dataIndex:"name",sortable:true,editor:new Ext.form.TextField()},

{header:"性别",dataIndex:"sex",editor:sexCombo},

{header:"出生日期",dataIndex:"bornDate",renderer:Ext.util.Format.dateRenderer("Y年m月d日"),editor:new Ext.form.DateField({format:'Y年m月d日'})}

]);

var grid3 = new Ext.grid.EditorGridPanel({

title:"可编辑Grid",

width:300,

height:200,

store:store2,

cm:columnModel2,

sm:this.sm,

renderTo:"grid3"

});

grid3.on("viewready",function(grid){

var rows = grid.store.getCount();

var records = [];

for(var i =0;i<rows;i++){

var record = grid.store.getAt(i);

if(record.data.name=="张三"){

records.push(record);

}

}

this.sm.selectRecords(records);

},this);

store2.loadData(data2);

});
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: