我正在尝试在extjs 6经典工具包中向现有网格添加新记录。
我将在下面粘贴我的代码,但首先要解释问题所在。 我使用getCmp和getStore来获取网格并存储将要使用的网格。 使用Ext.ComponentQuery.query,我可以从表单中的每个字段获取要添加到网格中的值。
console.log(值)显示值
这是我到目前为止所拥有的:
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
});
},
我没有任何错误,并且在网格中添加了新行,但是该行为空,它不包含任何数据。 我需要进行哪些更改才能将对象添加到网格?
答案 0 :(得分:0)
使其正常工作。我的问题是我没有将表单视图中的“名称”设置为与表单模型中项目的“名称”相同。进行了更改以使其匹配,并且可以正常工作。
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
});
},