ExtJS: Comment ajouter dynamiquement des nœuds enfants à treepanel
Comment pouvez-vous ajouter un nœud enfant à un TreePanel par programmation à l'aide de JavaScript?
J'ai un TreePanel qui affiche les couches actives de la carte (à l'aide de GeoExt):
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
});
L'utilisateur doit être en mesure d'ajouter une couche de recouvrement en appuyant sur un bouton, mais je n'arrive pas à trouver des exemples sur la façon d'accomplir ceci.
Des idées?
OriginalL'auteur DavidR | 2010-07-07
Vous devez vous connecter pour publier un commentaire.
Saisir le nœud parent par getNodeById ou getRootNode et ajouter le nœud enfant avec appendChild.
OriginalL'auteur Robby Pond
Voir l'exemple à:
http://dev.geoext.org/geoext/trunk/geoext/examples/layercontainer.html
Est votre couches de la propriété de la treePanel défini?
OriginalL'auteur geographika
voici un exemple de code pour ajouter dynamiquement de l'enfant à l'arborescence
OriginalL'auteur sravan kumar