2011-04-28 85 views

回答

1

使用getSelections让所有选定的记录和getSelected得到的第一条记录。

var selected = checkBoxSelectionModelObj.getSelections(); 

for (var i = 0; i < selected.length; i++) 
{ 
    alert(selected[i].data.code); 
} 
1

在ExtJs的文档提供方法在网格grid.getSelection()获得选择的记录。你可以参考ExtJs docs

我已经创建了一个小的演示来展示你,它是如何工作的。 Sencha fiddle example

var store = Ext.create('Ext.data.Store', { 
     fields: ['name', 'email', 'phone'], 
     data: [{ 
      name: 'Lisa', 
      email: '[email protected]', 
      phone: '555-111-1224' 
     }, { 
      name: 'Bart', 
      email: '[email protected]', 
      phone: '555-222-1234' 
     }, { 
      name: 'Homer', 
      email: '[email protected]', 
      phone: '555-222-1244' 
     }, { 
      name: 'Marge', 
      email: '[email protected]', 
      phone: '555-222-1254' 
     }, { 
      name: 'AMargeia', 
      email: '[email protected]', 
      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'); 
       } 
      } 
     }] 
    });