Добавление нового объекта в сетку
Я пытаюсь добавить новую запись в существующую сетку в 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
});
},