2017-04-26 8 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을 복제 할 수 있습니다.

temporaryStore.add(cloneRecord);

temporaryStore.getModifiedRecords();

var clonerecord = Ext.clone(records);

수정 기록을 얻을 수 있습니다.

temporaryStore.getNewRecords(); 새 레코드를 얻는 중입니다.

temporaryStore.getRemovedRecords(); 레코드를 제거하십시오.