2013-10-17 6 views
0

Ext.form.FormPanel을 확장합니다. 버튼이있는 first panel과 버튼 클릭으로 렌더링되는 second panel이 있습니다. 같이 사진을 :ExtJs 구성 요소 확장 문제

enter image description here

그러나 second panel's 항목은 내가 나에게 그것을 줄 변수는 다음과 같이이를 만들 때은 FormPanel 확장이다 :

난 내 확장은 FormPanel를 만들 때 그래서 grid 한 번만 만들어
var store = new Ext.data.JsonStore({...});] 
sote.load({params:{....}}); 

var grid = new Ext.grid.GridPanel({ 
//**config**// 
store:store 
}); 

var usersPanel = new myapp.StandartForm({ 
//**some config**// 
secondPanelItems:[grid,{field1},{filed2...}] 

}); 

. 두 번째 패널에 표시 될 때마다 어떻게 만들 수 있습니까?

답변

1

xtype을 사용하십시오. 그리드는 인스턴스화 할 때마다 만들어집니다 (편집 : xtype로 상점 추가)

var usersPanel = new myapp.StandartForm({ 
    //**some config**// 
    secondPanelItems:[{ 
     xtype: 'grid', 
     //**grid config**// 
     store: { 
      xtype: 'jsonstore', 
      autoLoad: true, 
      // other store attr 
      baseParams: {...} 
     } 
    },{field1},{filed2...}] 
}); 
+0

하지만 어떨까요? 그것은 한 번로드됩니다. 내가 그리드 내부에 만들 수 있지만로드 데이터에 대한 서버에 POST 매개 변수를 보낼 것을 의미합니다. 이를 위해 load() 메서드를 사용합니다. 'autoLoad'와 가능한가? –

+0

잘 모르겠습니다. 하지만 xtype으로 저장소를 만들고 싶다면, 그리드와 같이 baseParams를 정의 할 수 있습니다. 데이터를로드 할 때 사용됩니다. 하지만 결코 테스트하지 않아도됩니다. – peernohell

+0

'baseParams'가 작동합니다. 하지만 어쨌든 나는 매장을 다시 불러올 필요가있다. 그러나 아직도 나의 질문에서 이것을하는 방법을 모른다. –