向网格添加新对象
Adding new object to grid
我正在尝试向 extjs 6 经典工具包中的现有网格添加新记录。
我会在下面粘贴我的代码,但首先要解释问题是什么。
我使用 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
});
},
我没有收到任何错误,并且新行被添加到网格中,但是该行是空的,它不包含任何数据。
我需要进行哪些更改才能将对象添加到网格?
成功了。我的问题是我没有将表单视图中的 "name" 设置为与表单模型中项目的 "name" 相同。将其更改为匹配并且有效。
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
});
},
我正在尝试向 extjs 6 经典工具包中的现有网格添加新记录。
我会在下面粘贴我的代码,但首先要解释问题是什么。 我使用 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
});
},
我没有收到任何错误,并且新行被添加到网格中,但是该行是空的,它不包含任何数据。 我需要进行哪些更改才能将对象添加到网格?
成功了。我的问题是我没有将表单视图中的 "name" 设置为与表单模型中项目的 "name" 相同。将其更改为匹配并且有效。
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
});
},