<html><head><style type="text/css"><!-- DIV {margin:0px;} --></style></head><body><div style="font-family:arial,helvetica,sans-serif;font-size:8pt">Hi,<br><br>I have defined an GeoExt.tree.OverlayLayerContainer called "zusatzlayer". The store has to be set with no layers otherwise ALL layers are added<br><br>CODE:<br><br>// Zusatz Stores<br>&nbsp;&nbsp;&nbsp; var zusatz_store = new GeoExt.data.LayerStore({<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; id:"Zusatzlayer",<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; text: "Zusatzlayer",<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; map:map,<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; initDir: 0,<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; layers:[]<br>&nbsp;&nbsp;&nbsp; });<br><br>layerRoot.appendChild(new GeoExt.tree.OverlayLayerContainer({<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; id: 'Zusatzlayer',<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; text: "&lt;span class='TreeHeader'&gt;Zusatzlayer&lt;/span&gt;",<br>&nbsp;&nbsp;&nbsp;
 &nbsp;&nbsp;&nbsp; layerStore: zusatz_store,<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; leaf: false<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; })<br>&nbsp;&nbsp;&nbsp; );<br><br><br><span style="color: rgb(255, 0, 0);">In this OverlayLayerContainer I can append layers out of a grid using the following function in a bbar...</span><br><br>bbar: [new Ext.Button({<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; text: "Layer hinzuf&amp;uuml;gen",<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tooltip : 'Layer hinzuf&amp;uuml;gen',<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; handler: function() {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; capabilitiesgrid.getSelectionModel().each(function(record)
 {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; var clone = record.clone();<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; clone.get("layer").mergeNewParams({<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;format: "image/png",<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; transparent: true<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; })&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; layerRoot.getOwnerTree().getNodeById('Zusatzlayer').appendChild(new
 Ext.tree.TreeNode({<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; text: clone.get("layer").name,<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; checked: true,<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; listeners: {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 'checkchange': function(node, checked){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(checked){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Ext.MessageBox.alert(null, 'checked');<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; clone.get("layer").setVisibility(true);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }else{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Ext.MessageBox.alert(null, 'not
 checked');<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; clone.get("layer").setVisibility(false);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; },<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; })&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; );<br><br>&nbsp;&nbsp;&nbsp;&nbsp; // <span style="color: rgb(255, 0, 0);">THIS ADDS THE LAYER</span><br><br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; mapPanel.layers.add(clone);&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; // zoom on to&nbsp; new layer<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; var bounds = new OpenLayers.Bounds.fromArray(clone.get("llbbox"))<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; bounds.transform(epsg4326,
 map.getProjectionObject());<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; map.zoomToExtent(bounds)<br>&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; });<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; })<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; ,<br><br><br>THE PROBLEM...... If the treenode is expanded, the layer is being added twice!!!<br><br>Could anyone offer any solutions?<br><br>thanks for any help,<br><br>Rob<br><div><br></div>
</div><br></body></html>