2012-02-15 4 views
0

이 바보 같은 질문 일 수 있었다, 그러나 나는 가게를 통해 루프 내가 원하는액세스 저장소의 ExtJS

var grid = new Ext.grid.GridPanel({ 
    ..... 
    store: store, 
    ...... 
     listeners: { 
     'beforerender' : function(grid) { 
      //grid.getStore(); 
      } 
      } 

gridpanel에서 저장소에 액세스하는 방법을 알아낼 질수 있지만, grid.getStore()는 빈 반환 목적.

답변

1

grid.store 할 수 있습니다.

그리드 렌더링 전에 데이터가 채워지는 경우 (그리드 beforerender 이벤트에서 이것을 호출하는 것처럼 보임) grid.store.getRange()을 수행하면 루프에서 반복 할 레코드를 얻을 수 있습니다. 문제.

+0

그것은 저장소가 afterrender 이벤트 후 할 것입니다로드 호출처럼 보인다는 것이 가능 아직 볼 수 있습니다? – user1158628

+0

그렇습니다. 일반적으로 시퀀스입니다. 상점 데이터를 가져 오기 위해 ajax를 사용하는 경우, 데이터로드 전에 그리드가 렌더링됩니다. 나는 당신이 페이지를 초기화 한 후에 언젠가 그리드를 생성한다고 가정했기 때문에 그것은'beforerender' 이벤트에서 이것을하려고했다. 내가 알기로 당신은 스토어의 레코드를 반복하려고하고있다. 스토어에 load 이벤트 (데이터가로드되면 실행 됨)에 리스너를 추가하고 거기에 반복 기능을 추가한다. – Geronimo

0

저장 변수는 리스너 코드 :

+0

전자 아연에는 좋은 점이 있습니다. 문제가 'beforerender' 이벤트에서 실행 중이며 저장소가로드되지 않았다는 것이 문제인 것 같습니다. 아래 내 의견을 참조하십시오. – Geronimo

관련 문제