【问题标题】:update edited row extjs更新已编辑的行 extjs
【发布时间】:2023-04-02 13:24:02
【问题描述】:

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

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

【问题讨论】:

  • 您的网格使用其他模型?不是“SFG.model.Person”?

标签: extjs extjs4


【解决方案1】:

应该这样做:

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

me.getForm().loadRecord(record);

当你完成所有的编辑调用

me.getForm().updateRecord();

这是一个JSFiddle

请注意 updateRecord 执行以下操作

其中endEdit 还会通知此实例绑定到的所有商店

【讨论】:

    【解决方案2】:

    不需要这么多努力,只需将编辑后的值设置为记录并同步存储即可。

    将网格数据推送到表单是

    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
    

    谢谢。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-05-02
      • 2020-01-20
      • 2013-11-17
      • 1970-01-01
      • 1970-01-01
      • 2014-02-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多