打开窗口以编辑记录时获取值的问题

时间:2018-09-06 11:47:31

标签: javascript user-interface extjs

为extjs开发应用程序6.单击“编辑”按钮,无法打开用于编辑所选记录的表单。表单本身出现,但是字段值是空的。

网格:

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();
    }

});

在控制器中,单击按钮[action = onEdit]时,我将调用onEdit。在record.data函数本身中,我得到“未定义”。我了解问题出在使用“点击”方法,但没有 传递所选记录的值。如果我更改为字符串的itemdbclick事件,则将成功传递值,但是双击记录不适合我。 必须通过窗口进行记录的编辑。 应该使用哪个事件将字段值发送到编辑表单,或者如果任何人可以共享一个有用的示例。 谢谢

0 个答案:

没有答案