2017-04-26 66 views
0

我有一個永久的數據存儲。 我想克隆記錄到臨時數據存儲,更改記錄,然後將修改後的記錄複製回永久存儲。Ext JS - 克隆進出商店的最佳方式是什麼?

我創建的臨時存儲這樣的: -

permanentStore.each(function (record) { 
    temporaryStore.add(record.copy());} 
); 

如何複製回的只有修改的記錄? 我是否需要使用所有修改後的記錄的id來查找匹配的記錄還是還有其他簡單的方法嗎?

permanentStore.findRecord('Id','temporaryStoreRecordId') 

是否有任何干淨的克隆方式,以便將更改自動應用到永久存儲區?

+1

首先,如果更改自動應用於永久變更,則不是克隆。那麼你究竟想要什麼?爲什麼只有在臨時存儲時才需要從臨時存儲中找到修改後的記錄?您可以直接將您的永久性商店替換爲已修改記錄的臨時商店嗎?我的建議是,如果我得到你的要求是正確的,你可以使用Ext.clone。否則,請精心準備 –

+0

@Anindya:您使用的方法可以,但是您可以使用更簡潔的方法,只需將商店複製爲上述的Harshit即可。現在,要將修改後的記錄複製回來,您需要迭代克隆商店並將修改後的記錄設置爲在原始商店中的相應記錄。嘗試此操作並進行回覆(如果有效) – Tejas

+1

如果記錄應該在原位進行編輯,那麼您究竟需要一個臨時商店? – Alexander

回答

0

您可以使用clone方法來克隆所有records

var clonerecord = Ext.clone(records);

temporaryStore.add(cloneRecord);

temporaryStore.getModifiedRecords();得到修改的記錄。

temporaryStore.getNewRecords();獲得新記錄。

temporaryStore.getRemovedRecords();獲取刪除記錄。

相關問題