2011-07-26 2 views
0

내가 저장소에 기록 개체가 (구조는 저장소에 하나의 기록이다) :수정 된 레코드를 커밋하거나 저장소의 레코드를 업데이트하고 서버에 커밋하는 방법? 내가 아래에 언급 된대로

data: Object 
dirty: true 
events: Object 
internalId: "ext-record-14" 
modified: Object 
needsAdd: false 
phantom: false 
store: Object 

이제, 우리는 삽입, 매장 수준에서 기록을 처리하기 위해 저장소의 방법을 추가, 제거해야 하지만 FormPanel 메서드의 updateRecord와 비슷한 저장소 수준에서 레코드를 업데이트하려고합니다.

서버에 더러운 레코드를 모두 업데이트하려고합니다.

+0

아닌가요 ['store.sync'] (http://docs.sencha.com/ext-js/4-0/#/api/Ext.data.Store - 방법 - 동기화) 당신이 원하는 무엇입니까? –

+0

store.sync 만 원하지만 나를 위해 작동하지 않습니다. 내가 따라야 할 단계는 다음과 같습니다. 1) var records = store.data.items(); 2) 각 레코드를 반복하고 record.set()을 사용하여 열 값을 변경하는 중 3) 이제 레코드가 더러움 : true이지만 store에 저장 한 후 동기화 메서드를 사용해야합니다. –

+0

어떤 버전의 ExtJS ? 데이터 계층에서는 v3과 v4 사이에 큰 변화가있었습니다. – wes

답변

6

Sencha Touch 1.1.1에는 업데이트 된 레코드가 저장되지 않을 수있는 버그가 있습니다. 내가 수동으로() store.sync를 호출 한 후 true로 기록에 IsDirty 사용 플래그를 설정하고하여 문제를 해결 근무했습니다

그래서 :

나는 offlinestore 프록시를 사용하고
var index = store.find('name','Hello World'); 
var record = store.getAt(index); 
record.set('value', 'new value'); 
record.dirty = true; 
store.sync(); 

.

항목 : http://www.sencha.com/forum/showthread.php?153432-1.1.1-broke-store.sync-for-modified-records/

관련 문제