晨港飞燕的博客

extjs学习之Ext.selection.CheckboxModel



Ext.onReady( function() {
var store=Ext.create('Ext.data.Store', {
storeId:'simpsonsStore',
fields:['id','name','description','action'],
data:[{
"id":'1',
"name" : "节目一",
"description" : "lisa@simpsons.com",
"action":'false'
},{
"id":'2',
"name" : "节目二",
"description" : "mary@simpsons.com",
"action":'true'
},{
"id":'3',
"name" : "节目三",
"description" : "jun@simpsons.com",
"action":'false'
}],
proxy: {
type:'memory',
reader: {
type:'json'
}
}
});

var grid=Ext.create('Ext.grid.Panel', {
renderTo : Ext.getBody(),
width : 450,
height : 250,
margin : '0 0 0 100',
store:store,
columns:[{
header:'姓名',
dataIndex:'name',
flex:1
},{
header:'描述',
dataIndex:'description',
flex:1
}],
selModel: Ext.create('Ext.selection.CheckboxModel', {
injectCheckbox:1,//checkbox位于哪一列,默认值为0
mode:'single',//multi,simple,single;默认为多选multi
checkOnly:true,//如果值为true,则只用点击checkbox列才能选中此条记录
allowDeselect:true,//如果值true,并且mode值为单选(single)时,可以通过点击checkbox取消对其的选择
enableKeyNav:false,
listeners: {
deselect: function(model,record,index) {//取消选中时产生的事件
},
select: function(model,record,index) {//record被选中时产生的事件
record.get('name');//选中的节目名称
},
selectionchange: function(model,selected) {//选择有改变时产生的事件

var records=model.getSelection();
if(records!='') {
for(var i in records) {
records[i].get('name')//选中的节目名称(方法一)
}
}

if(selected!='') {
for(var p in selected) {
selected[p].get('name') //选中的节目名称(方法二)
}
}
}
}
})
})
})
posted @   晨港飞燕刘彦登  阅读(2958)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下
点击右上角即可分享
微信分享提示