Extjs4 treepanel расширяется до определенного уровня

Я выполняю довольно много интересных и сложных задач в Extjs. У меня проблемы с расширением древовидной панели и панели вкладок. У меня есть панель вкладок в макете таблицы видового экрана. Моя панель вкладок содержит вкладки, такие как Tab1, Tab2, tab3 и т. Д. В некоторых вкладках слева есть разные древовидные меню. Например, в Tab2 могут быть узлы древовидной панели, такие как узел A, узел B и т. Д. В Tab3 и Tab4 у меня есть некоторые ссылки, которые указывают на какой-то узел B в Tab2 или могут указывать на дочерние элементы узла B. Для лучшего понимания моего макета, пожалуйста проверьте изображение ниже.

tab2 с древовидной панелью

Поэтому, когда я нажимаю на ссылку, должен активироваться Tab2, а левая панель дерева должна расширяться до определенного уровня узла / дочернего узла. Я проделал это в Extjs2 с большим трудом. Сейчас я перехожу на Extjs4, но он не работает.

Для лучшего понимания этой проблемы я также добавляю сокращенную вкладку 3. Пожалуйста, посмотрите на снимок экрана.

введите описание изображения здесь

При нажатии на ссылку Category :: Node должна активироваться «Tab2», и левое древовидное меню должно расширяться до узла A. Если, например, при нажатии на Sub-Category :: Node A - Child A ссылка должна активироваться «Tab2» и слева древовидное меню должно расшириться до Узла A ---> Необходимо выбрать Дочерний A, а также Дочерний A.

Буду рад, если вы предложите мне любую помощь.

Может ли у кого-нибудь быть замечательные идеи?


person siva565    schedule 24.02.2012    source источник


Ответы (1)


Подумайте об этом так: вы можете назначить id компоненту Extjs и вернуть его с помощью Ext.getCmp ('component_id'). Итак, шаги:

  • Сначала прикрепите к гиперссылке обработчик события click.
  • Assign id for the tabpanel: this is to change the selected tab with
    Ext.getCmp('tabpanel_id').setActiveTab(tab_index).
    
  • Assign id for the left panel of each tab: this is to get the root of the tree with
    Ext.getCmp('left_panel_id').store.getRootNode(). 
    
    Then you can jump to the selected node using:
    root_Node.findChild('attribute_name', 'value_match')
    
    or
    root_Node.getChildAt(index)
    

Здесь вы можете проанализировать параметры в гиперссылке, а затем использовать их в качестве входных данных, как указано выше.

person U and me    schedule 16.04.2012