Extjs4 treepanel扩展到特定级别

时间:2012-02-24 14:24:33

标签: tree extjs4 viewport expand tabpanel

我在Extjs中处理非常有趣和复杂的任务。我正面临着treepanel和tabpanel扩展的问题。我在Viewport表格布局中有一个Tabpanel。我的tabpanel包含Tab1,Tab2,tab3等选项卡。在这里,一些标签左侧有不同的树形图。例如,Tab2可能有树节点节点,如节点A,节点B等。在Tab3和Tab4中我有一些链接指向Tab2中的某个节点B,或者它可能指向节点B的子节点。为了最好地低估我的布局请检查波纹管图像。

tab2 with treepanel

所以当我点击链接时,Tab2应该激活,左侧树形图应该扩展到特定的节点/子节点级别。我在Extjs2中做了很多努力工作。现在我正在迁移到Extjs4,但它无法正常工作。

为了更好地理解这个问题,我还要简短地添加tab3屏幕。请查看截图。

enter image description here

当点击Category :: Node链接时,“Tab2”应该激活,左侧树菜单应该扩展到节点A.当点击Sub-Category :: Node A - Child A链接时,那么“Tab2”应该激活并且左侧树菜单应该扩展到节点A --->应选择儿童A和儿童A.

如果你们有人向我提出任何帮助,我们会很高兴。

任何人都可以提出想法吗?

1 个答案:

答案 0 :(得分:0)

这样想吧: 您可以将id分配给Extjs组件,并使用Ext.getCmp('component_id')将其返回。所以步骤是:

  • 首先将'click'事件处理程序附加到超链接。
  • 为tabpanel分配ID:这是用于更改选定的选项卡
    Ext.getCmp('tabpanel_id').setActiveTab(tab_index).
    
  • 为每个标签的左侧面板分配id:这是为了获取树的根
    Ext.getCmp('left_panel_id').store.getRootNode(). 
    
    然后,您可以使用以下命令跳转到所选节点:
    root_Node.findChild('attribute_name', 'value_match')
    
    要么
    root_Node.getChildAt(index)
    

在这里,您可以解析超链接中的参数,然后将它们用作上面的输入。