3

我的问题对你来说很容易,但我买不起..我从行中获取数据并在其他面板的字段中显示我的目标是编辑这些数据并在网格中显示编辑后的数据,请给我一些建议,我知道它需要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);

但它需要继续,请帮助我..

4

2 回答 2

3

那应该这样做:

var selection = persongrid.getSelectionModel().getSelection(),
    record = selection.length > 0 ? selection[0] : null;

me.getForm().loadRecord(record);

当你完成所有的编辑调用

me.getForm().updateRecord();

这是一个JSFiddle

请注意updateRecord执行以下操作

whereendEdit还会通知该实例绑定到的所有商店

于 2013-06-06T04:53:39.963 回答
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

谢谢。

于 2013-06-06T04:54:26.330 回答