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 に答える