我的问题很容易,但我负担不起..
我从行获取数据并在其他面板的字段中显示
我的目标是编辑这些数据并在网格中显示已编辑的数据,请给我一些建议,我知道它需要commit() function
但是......
我的代码:
var selModel = persongrid.getSelectionModel();
var selectedRecords = selModel.getSelection();
console.log(selectedRecords[0].data)
me.activeRecord = selectedRecords;
a=selectedRecords[0].data;
var user = Ext.create('SFG.model.Person',a );
me.getForm().loadRecord(user);
但需要继续,请帮助我..
答案 0 :(得分:3)
应该这样做:
var selection = persongrid.getSelectionModel().getSelection(),
record = selection.length > 0 ? selection[0] : null;
me.getForm().loadRecord(record);
当您完成所有编辑调用
me.getForm().updateRecord();
这是 JSFiddle
请注意updateRecord
执行以下操作
其中endEdit
也通知此实例绑定的所有商店
答案 1 :(得分:0)
不需要这么多努力,只需要将编辑后的值设置为记录并同步商店。
将网格数据推送到表单
editUser: function(grid, record) {
var view = Ext.widget('useredit');
view.down('form').loadRecord(record);
}
将编辑后的数据推回商店
updateUser: function(button) {
var win = button.up('window'),
form = win.down('form'),
record = form.getRecord(),
values = form.getValues();
record.set(values);
win.close();
this.getUsersStore().sync();
}
注意:getUsersStore()的结构为getStore。
请浏览以下链接,这可能对您的要求有用。此链接包含完整代码所需的内容以及解释。
http://docs.sencha.com/extjs/4.0.7/#!/guide/application_architecture
感谢。