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') //选中的节目名称(方法二)
}
}
}
}
})
})
})
技术改变世界
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 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代理 了,记录一下