Я хочу изменить свой магазин динамически. У меня есть панель дерева extJs, как элемент window.widget. Я хочу динамически менять хранилище этой панели. Моя логика такова: Запрос aJax отправляется на мой контроллер и возвращает jsonObject cotroller. Я хочу установить этот jsonObject, который возвращает мой контроллер, чтобы быть НОВЫМ магазином моей панели дерева, и обновить только панель дерева. Это то, что я сделал до сих пор, но динамическое изменение не работает. Пожалуйста, имейте в виду, что мой json-объект, который используется для хранения, создается и живет в памяти. Все работает нормально до тех пор, пока не появится новый магазин, и дерево не получит магазин таким образом, который я попробую.ExtJs, как динамично менять хранилище treepanel
Мой магазин:
var store = Ext.create('Ext.data.TreeStore', {
root: {
id: 'rootNode',
expanded: true,
children: childrenParam
}
});
и мой TreePanel:
xtype: 'treepanel',
region: 'west',
id: 'navigation',
title: 'Tree of builds',
width: "30%",
height: "100%",
layout: 'fit',
rootVisible: false,
store: store,
split: true,
autoScroll: true,
collapsible: true,
floatable: false
...
То, что я попытался это:
var myPanel = Ext.getCmp('navigation');
myPanel.store.tree.root.childNodes = result;
, где результатом является JSON объект, который является возвращение из шахты контроллера , Этот json-объект прекрасен, но смена магазина работает некорректно.
Заранее благодарю за помощь!
Спасибо Раджиндера! – user2739823