메뉴 버튼 ("클라이언트"), 선택한 클라이언트 세부 정보가있는 클라이언트 목록 (이름순으로 정렬 됨)이있는 트리 패널 및 뷰어가 있습니다. 또한 선택 변경 작업이 있습니다.스토어에 데이터로드 대기 방법
내 작업 - 버튼 클릭 클라이언트보기로 전환하고 버튼을 클릭 할 때마다 첫 번째 클라이언트의 세부 정보를 선택하고로드합니다. 내 문제 - 저장소가로드되지 않습니다. ext js가 데이터를 저장소로 자동로드 할 때까지 기다리는 방법은 무엇입니까?
내 컨트롤러 코드 :
me.control({
'#nav-client': {
click: me.onNavClientClick
},
...
'clientlist': {
// load: me.selectClient,
selectionchange: me.showClient
}
});
onNavClientClick: function(view, records) {
var me = this,
content = Ext.getCmp("app-content");
content.removeAll();
content.insert(0, [{xtype: 'clientcomplex'}]);
var first = me.getClientsStore().first();
if (first) {
Ext.getCmp("clientList").getSelectionModel().select(me.getClientsListStore().getNodeById(first.get('clientId')));
}
},
...
두 가지 주요 질문 : 내 경우에는 좋은 해결책
입니까?
경우, (한 번 만) : "me.selectClient을로드"
var first = me.getClientsStore().first(); // i use another store to get first record because of i dont know how to get first record (on root level) in TreeStore ... Ext.getCmp("clientList").getSelectionModel().select(me.getClientsListStore().getNodeById(first.get('clientId')));
내가이 코드를 알고
이 경우 확인 작업 (나무 패널의 첫 번째 클라이언트를 선택합니다) 내가 버튼 클릭에이 코드를 삽입 - 내가 때문에 me.getC의 오류를
Uncaught TypeError: Cannot read property 'id' of undefined
참조 lientsListStore()가로드되지 않았습니다.이 저장소의로드 상태를 확인하고이 저장소가 완전히 자동로드 될 때까지 기다리는 방법은 무엇입니까? ...
감사합니다!