2010-07-07 59 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); 
相关问题