2010-07-07 64 views
3

如何使用JavaScript以編程方式向現有的TreePanel添加子節點?ExtJS:如何動態添加子節點到treepanel

我有一個顯示的地圖(使用GeoExt)的活性層的TreePanel中:

treeConfig = new OpenLayers.Format.JSON().write([{ 
    nodeType: "gx_baselayercontainer", 
    text: "Base layers", 
    expanded: true 
    }, { 
    nodeType: "gx_overlaylayercontainer", 
    text: "Overlays", 
    expanded: true, 
    loader: { 
     baseAttrs: { 
      radioGroup: "foo", 
      uiProvider: "use_radio" 
     } 
    } 
}], true); 

treePanel = new Ext.tree.TreePanel({ 
    id: 'mainpanel', 
    border: true, 
    region: "west", 
    title: "Map layers", 
    width: 200, 
    split: true, 
    collapsible: true, 
    margins: '0 0 5 5', 
    collapseMode: "mini", 
    autoScroll: true, 
    loader: new Ext.tree.TreeLoader({ 
     applyLoader: false, 
     uiProviders: { 
      "use_radio": LayerNodeUI 
     } 
    }), 
    root: { 
     nodeType: "async", 
     children: Ext.decode(treeConfig) 
    }, 
    listeners: { 
     "radiochange": function(node){ 
      alert(node.layer.name + " is now the the active layer."); 
     } 
    }, 
    rootVisible: false, 
    lines: false 
}); 

的用戶應該能夠通過按下按鈕來添加的覆蓋層,但是我似乎無法找到任何關於如何完成這個的例子。

任何想法?

回答

0

這裏是示例代碼用於動態追加的孩子樹面板

Ext.getCmp('treeid').getRootNode().appendChild(response from database); 
相關問題