Показать сообщение отдельно
  #1 (permalink)  
Старый 06.09.2018, 14:20
Аспирант
Отправить личное сообщение для Ambassador Посмотреть профиль Найти все сообщения от Ambassador
 
Регистрация: 12.11.2015
Сообщений: 68

Проблемы получения значений при открытии окна редактирования записи
Добрый день.
По нажатию на кнопку грида "Редактировать" не удается открыть форму для редактирования выбранной записи. Сама форма появляется, но значения полей пустые.
Грид:
var textField = { xtype: 'textfield'  };     
Ext.define('BookApp.view.BookList' ,{
    extend: 'Ext.grid.Panel',
    alias: 'widget.booklist',

    title: 'Library',
    store: 'BookStore',
    tbar: [{
                text: 'Добавить операцию',
                iconCls: 'fa-plus',
                //handler: 'onAddClick',
                action: 'onAdd'
            },{
                text: 'Редактировать',
                iconCls: 'fa-plus',
                //handler: 'onEditClick',               
                action: 'onEdit'
            },
 ....

Контроллер:
Ext.define('BookApp.controller.Books', {
    extend: 'Ext.app.Controller',

    views: ['BookList', 'Book', 'DoubleBookList'],//
    stores: ['BookStore','DoubleBookStore'],//
    models: ['Book', 'DoubleBook'],
    init: function() {
        this.control({
            //Нажатие на кнопку редактирования
            'booklist button[action=onEdit]': {
                click: this.editBook               
            },
        });
    },//Открытие окна редактирования записи
    editBook: function(grid, record){    
               
           var me = this,
           win = Ext.widget('bookwindow');
           console.log(record.data);
           win.down('form').loadRecord(record);     
   },
    clearForm: function(grid, record) {
        var view = Ext.widget('bookwindow');
        view.down('form').getForm().reset();
    }

});


В контроллере при клике button[action=onEdit] вызываю функцию onEdit. В самой функции record.data у меня выводит 'undefined' . Понимаю что проблема заключается в использовании метода 'click' который не
передает значения выбранной записи. Если переделать на событие itemdbclick для строки, то значения успешно передаются, но мне не подходит двойное нажатие на запись.
Необходимо сделать редактирование записи именно через окно.
Подскажите, какое событие необходимо использовать что бы значения полей передавались в форму редактирования или если кто может, поделитесь полезным примером.
Спасибо
Ответить с цитированием