2013-07-25 2 views
1

다음과 같은 저장소 모양의 격자 패널이 있습니다. 저장소가 다시로드 될 때 각 레코드를 가져 오려고합니다. 그러나 Store가 Extjs 4.1에서 다시로드 될 때마다 각 레코드를 읽습니다.

var store = Ext.create('Ext.data.Store', { 
     autoLoad: false, 
     fields:['a', 'b', 'c'], 
     proxy: { 
      type: 'ajax', 
      url: 'data.php', 
      reader: { 
       type: 'json' 
      }     
     }, 
     listeners: { 
      load: function (stores, records, successful, eOpts) { 
       alert(records.data.a); // fails 
      } 
     } 
}); 

작업 또는 나는

store.load({ 
params: { 
    a: myvariable 
}, 
callback: function (records, operation, success) { 
    alert(records.data.a); // fail  
}, 
scope: this 
}); 

같은 다른 방법을 시도하지만, 그들 모두는 작업을 수행하는 방법에 실패되는 것은 아닙니다. 감사합니다

+0

실패는 의미합니까? 오류가 발생했거나 값을 가져올 수 없습니까 (비어 있음) ???? 백엔드에서 데이터를 전달하는지 여부를 확인하십시오. – Hariharan

+0

레코드는 데이터 배열입니다. 저장소가 다시로드 될 때마다 각 레코드를 가져와야합니까? – LookAtMeNow

답변

1

records은 실제로 Model의 배열이며 records[index]을 사용하여 레코드에 직접 액세스 할 수 있습니다. 개인 레코드에서만 작동하는 .data을 사용 중입니다.

레코드에서 데이터를 가져 오는 가장 좋은 방법은 .data이 아니라 record.get(fieldName) 또는 record.getData()[fieldName]입니다.

+0

감사합니다. – LookAtMeNow