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

我正在设计带有复选框的ExtJs Gridpanel。。。
如何获取用于保存数据的选中记录

使用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;iExtJs文档中的
提供了在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');
                }
            }
        }]
    });