Обработка событий ExtJS Grid

#javascript #events #extjs #grid #extjs4

#javascript #Мероприятия #extjs #сетка #extjs4

Вопрос:

Рассмотрим этот пример: http://docs.sencha.com/ext-js/4-0 /#!/example/grid/binding-with-classes.html Я хочу обработать событие ‘selectionchange’ в контроллере. Как следующий код:

 Ext.define('AM.controller.Users', {
    init: function() {
        this.control({
            'useredit button[action=save]': {
                click: this.updateUser
            }
        });
    },

    updateUser: function(button) {
        console.log('clicked the Save button');
    }
});
 

Как мне это сделать?
Спасибо

Ответ №1:

ваша сетка:

 Ext.define('MyApp.view.ui.MyGridPanel', {
    extend: 'Ext.grid.Panel',
    alias:'widget.mygridpanel',

    height: 250,
    width: 400,
    title: 'My Grid Panel',

    initComponent: function() {
        var me = this;

        Ext.applyIf(me, {
            columns: [
                {
                    xtype: 'gridcolumn',
                    dataIndex: 'string',
                    text: 'String'
                },
                {
                    xtype: 'numbercolumn',
                    dataIndex: 'number',
                    text: 'Number'
                },
                {
                    xtype: 'datecolumn',
                    dataIndex: 'date',
                    text: 'Date'
                },
                {
                    xtype: 'booleancolumn',
                    dataIndex: 'bool',
                    text: 'Boolean'
                }
            ],
            viewConfig: {

            }
        });

        me.callParent(arguments);
    }
});
 

ваш контроллер:

 Ext.define('AM.controller.Users', {
    init: function() {
        this.control({
            'useredit button[action=save]': {
                click: this.updateUser
            },
            'mygridpanel':{
                selectionchange:this.changeselection
            }
        });
    },

    changeselection:function(selectionModel,record){
        console.log(record);
    },

    updateUser: function(button) {
        console.log('clicked the Save button');
    }
});