Добавление нового объекта в сетку

Я пытаюсь добавить новую запись в существующую сетку в extjs 6 classic toolkit.

Я вставлю свой код ниже, но сначала объясню, в чем проблема. Я использую getCmp и getStore, чтобы получить сетку и сохранить ее. С помощью Ext.ComponentQuery.query я получаю значения из каждого поля в форме для добавления в сетку.

console.log (values) показывает значения

Вот что у меня так далеко:

getValuesForSave : function() {

    var grid = Ext.getCmp('cataloguegrid');
    var store = Ext.getStore('cataloguegridstore'); 
    var model = store.model.create({});

    var form = Ext.ComponentQuery.query("#basicDataPanel")[1];  
    var values = form.getValues();

    console.log(values);
    grid.getStore(model).insert(0, values);  

    Ext.MessageBox.show({
        title : 'Saving data!',
        msg : 'Data successfully saved!',
        buttons : Ext.MessageBox.OK,
        icon : Ext.Msg.INFO
    });     
},

Я не получаю ошибок и новая строка добавляется в сетку, но строка пуста, она не содержит данных. Какие изменения мне нужно внести, чтобы иметь возможность добавить объект в сетку?

1 ответ

Решение

Получил это работает. Моя проблема заключалась в том, что я не установил "имя" в представлении формы таким же, как "имя" элементов в модели формы. Изменили это, чтобы соответствовать, и это работало.

getValuesForSave : function() {

var grid = Ext.getCmp('cataloguegrid');

var form = Ext.ComponentQuery.query("#basicDataPanel")[1];  
var values = form.getValues();

console.log(values);

grid.getStore().insert(0, values);   

Ext.MessageBox.show({
    title : 'Saving data!',
    msg : 'Data successfully saved!',
    buttons : Ext.MessageBox.OK,
    icon : Ext.Msg.INFO
});         
},
Другие вопросы по тегам