如何在页面打开后根据条件让EditorGridPanel的某一行的复选框默认选中?
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);
});
總結
以上是生活随笔為你收集整理的如何在页面打开后根据条件让EditorGridPanel的某一行的复选框默认选中?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: html5怎么调用cur指针,win7鼠
- 下一篇: wacom win10 未连接任何设备