Древовидная панель Extjs4 расширяется до определенного уровня - PullRequest
1 голос
/ 24 февраля 2012

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

tab2 with treepanel

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

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

enter image description here

При щелчке по ссылке Category :: Node должна активироваться «Tab2», а левое дерево меню должно расширяться до узла A. Где, как при нажатии на подкатегорию :: Node A - Child A, ссылка «Tab2» должна активироваться. меню левой и левой стороны должно быть расширено до узла A ---> дочерний элемент A, а также дочерний элемент A должен быть выбран.

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

Может ли кто-нибудь иметь идеи?

1 Ответ

0 голосов
/ 16 апреля 2012

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

  • Сначала прикрепите обработчик события 'click' к гиперссылке.
  • Назначьте идентификатор для панели вкладок: это означает, что выбранная вкладка изменяется на
    Ext.getCmp('tabpanel_id').setActiveTab(tab_index).
    
  • Назначьте идентификатор для левой панели каждой вкладки: это чтобы получить корень дерева с помощью
    Ext.getCmp('left_panel_id').store.getRootNode(). 
    
    Затем вы можете перейти к выбранному узлу, используя:
    root_Node.findChild('attribute_name', 'value_match')
    
    или
    root_Node.getChildAt(index)
    

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

...