ExtJS Gridpanel所选行
我正在设计带有复选框的ExtJs Gridpanel。。。ExtJS Gridpanel所选行,extjs,Extjs,我正在设计带有复选框的ExtJs Gridpanel。。。 如何获取用于保存数据的选中记录使用getSelections获取所有选定记录,使用getSelected获取第一条记录 var selected = checkBoxSelectionModelObj.getSelections(); for (var i = 0; i < selected.length; i++) { alert(selected[i].data.code); } var selected=chec
如何获取用于保存数据的选中记录使用getSelections获取所有选定记录,使用getSelected获取第一条记录
var selected = checkBoxSelectionModelObj.getSelections();
for (var i = 0; i < selected.length; i++)
{
alert(selected[i].data.code);
}
var selected=checkBoxSelectionModelObj.getSelections();
对于(变量i=0;i ExtJs文档中的提供了在gridgrid.getSelection()中获取所选记录的方法。你可以参考
我已经创建了一个小演示来向您展示它是如何工作的
var store=Ext.create('Ext.data.store'{
字段:[“姓名”、“电子邮件”、“电话”],
数据:[{
名字:'丽莎',
电邮:'lisa@simpsons.com',
电话:555-111-1224
}, {
姓名:'巴特',
电邮:'bart@simpsons.com',
电话:555-222-1234
}, {
名字:“荷马”,
电邮:'homer@simpsons.com',
电话:555-222-1244
}, {
姓名:'Marge',
电邮:'marge@simpsons.com',
电话:555-222-1254
}, {
名称:“AMargeia”,
电邮:'marge@simpsons.com',
电话:555-222-1254
}]
});
Ext.create('Ext.grid.Panel'{
标题:《辛普森一家》,
店:店,,
id:'testGrid',
栏目:[{
文本:“名称”,
数据索引:“名称”
}, {
文本:“电子邮件”,
数据索引:“电子邮件”,
弹性:1
}, {
短信:“电话”,
数据索引:“电话”
}],
身高:200,
宽度:400,
renderTo:Ext.getBody(),
selModel:{
checkOnly:false,
选中复选框:“最后一个”,
模式:“简单”
},
selType:'checkboxmodel',
按钮:[{
文本:“全选”,
处理程序:函数(){
Ext.getCmp('testGrid').getSelectionModel().selectAll();
}
}, {
文本:“全部取消选择”,
处理程序:函数(){
Ext.getCmp('testGrid').getSelectionModel().deselectAll();
}
},{
文本:'打印所选记录',
处理程序:函数(){
var selection=Ext.getCmp('testGrid').getSelection();
if(选择.长度){
让name='';
selection.map(项目=>{
name++=item.get('name')++'
;
});
Ext.Msg.alert('所选记录',名称);
}否则{
Ext.Msg.alert('错误','请选择记录');
}
}
}]
});
var store = Ext.create('Ext.data.Store', {
fields: ['name', 'email', 'phone'],
data: [{
name: 'Lisa',
email: 'lisa@simpsons.com',
phone: '555-111-1224'
}, {
name: 'Bart',
email: 'bart@simpsons.com',
phone: '555-222-1234'
}, {
name: 'Homer',
email: 'homer@simpsons.com',
phone: '555-222-1244'
}, {
name: 'Marge',
email: 'marge@simpsons.com',
phone: '555-222-1254'
}, {
name: 'AMargeia',
email: 'marge@simpsons.com',
phone: '555-222-1254'
}]
});
Ext.create('Ext.grid.Panel', {
title: 'Simpsons',
store: store,
id: 'testGrid',
columns: [{
text: 'Name',
dataIndex: 'name'
}, {
text: 'Email',
dataIndex: 'email',
flex: 1
}, {
text: 'Phone',
dataIndex: 'phone'
}],
height: 200,
width: 400,
renderTo: Ext.getBody(),
selModel: {
checkOnly: false,
injectCheckbox: 'last',
mode: 'SIMPLE'
},
selType: 'checkboxmodel',
buttons: [{
text: 'Select All',
handler: function () {
Ext.getCmp('testGrid').getSelectionModel().selectAll();
}
}, {
text: 'Deselect All',
handler: function () {
Ext.getCmp('testGrid').getSelectionModel().deselectAll();
}
},{
text:'Print Selected Recod',
handler:function(){
var selection = Ext.getCmp('testGrid').getSelection();
if(selection.length){
let name='';
selection.map(item=>{
name+=item.get('name')+'<br>';
});
Ext.Msg.alert('Selected Record',name);
}else{
Ext.Msg.alert('Error','Please select record');
}
}
}]
});