ExtJS: Как получить данные выбранной записи сетки при щелчке правой кнопкой мыши? - PullRequest
0 голосов
/ 28 мая 2018

У меня есть grid и с функцией контекстного меню.Я добавил новый элемент в контекстное меню и пытаюсь получить данные выбранной записи для манипуляции.

Как мне достичь этого?

и метод переопределения при добавлении нового элемента;

getGridMenu: function () {
// This function calls base function for right-click events
        var me = this;

        var ret = [
            {
                text: 'Update Password',
                handler: 'onUpdatePassword'
            }
        ];

        return me.callParent().concat(ret);
    },

Вот проблема получения данных выбранных записей.Мне нужно подтвердить выбранные записи id, и тогда я смогу обновить данные записей с помощью процесса CRUD.

onUpdatePassword: function (button) {
        var me = this;

        Ext.MessageBox.confirm(translations.confirm, translations.confirmChangePassword, me.changePassword, me);
    },

changePassword: function (button) {
        var me = this;

        if (button === "yes") {
            //Successfully getting over here and here I need to declare selected row/record's data to manipulate it.
            return new Ext.window.Window({
            autoShow: true,
            title: 'Create Password',
            modal: true,
            width: 250,
            height: 160,
            items: [
                {
                    xtype: 'container',
                    height: 10
                },
                {
                    xtype: 'passwordfld',
                    width: 230,
                    inputType: 'password'
                }
            ],
            dockedItems: [
                {
                    xtype: 'toolbar',
                    dock: 'bottom',
                    items: [
                        {
                            xtype: 'tbfill'
                        },
                        {
                            xtype: 'cancelbutton'
                        },
                        {
                            xtype: 'savebutton'
                        }
                    ]
                }
            ]
        });
        } else {
            me.destroy();
        }
    },

1 Ответ

0 голосов
/ 28 мая 2018

Изменить определение элемента на:

{
    text: 'Update Password',
    listeners: {
        click: this.onUpdatePassword,
        scope: this
    }
}

Теперь this в onUpdatePassword относится к сетке

И вы можете получить доступ к выбранным строкам с помощью this.getSelectionModel().getSelection()

...