выберите строку Окно просмотра ExtJS6.2 расширяет панель grid.panel

Я пытаюсь удалить выбранную строку в моем компоненте Viewport, который расширяет Ext.grid.panel. Приведенный ниже пример позволяет мне выбирать строки, но он создается как grid.Panel, а не Viewport. Можно ли выбрать конкретную строку с помощью viewPort, который расширяет grid.Panel

аналогично: https://fiddle.sencha.com/#view/editor&fiddle/2ech У меня были разные попытки, но я считаю, что моя проблема в том, что я не могу захватить сетку.

Мой код

var mainView = Ext.create('Ext.container.Viewport', {
//extends grid.panel
extend: 'Ext.grid.Panel',

items: [{
    //xtype is used to re-use components or classes
    xtype: 'grid',
    store: userStore,
    columns: [{
        text: 'Name',
        dataIndex: 'name',
        flex: 1
    }, {
        text: 'Email Address',
        dataIndex: 'email',
        flex: 2
    }, {
        text: 'Phone Number',
        dataIndex: 'phone',
        flex: 2
    }]

}, {
    xtype: 'button',
    text: 'NEW',
    height: 50,
    width: '33%',
    handler: function () {
        var win = Ext.create('innerWindow');
        win.show();
    }
}, {
    xtype: 'button',
    text: 'VIEW',
    height: 50,
    width: '33%',
    handler: function () {
        var win = Ext.create('innerWindow');
        win.show();
    }
}, {
    xtype: 'button',
    text: 'DELETE',
    height: 50,
    width: '33%',
    handler: function () {
        let selected = grid.getSelection();
        //want to delete selected row
        //var record = userStore.getAt(0);
        userStore.remove(selected);
    }
}]

});


person Luke W    schedule 06.08.2018    source источник
comment
Ваш вопрос не имеет особого смысла. Почему процесс должен отличаться для подкласса сетки?   -  person Evan Trimboli    schedule 06.08.2018


Ответы (1)


Сначала дайте идентификатор вашей сетке:

id: 'MyGrid'

Теперь вы можете ссылаться на сетку:

handler: function () {
        var grid = Ext.getCmp("MyGrid");
        var store = grid.getStore();
        var selection = grid.getView().getSelectionModel().getSelection()[0];
        if (selection) {
            store.remove(selection);
        } 
    }
person Fabio Barros    schedule 06.08.2018
comment
Спасибо. Я новичок в EXT JS и боролся с этим больше часа, но теперь, благодаря вам, я чувствую себя немного более способным. - person Luke W; 07.08.2018