Hello,<br><br clear="all">I have been trying to create a search tool which the user would select the wfs layer (via a radio button) and then type the name or number or even postcode in the textfield  and the results will be presented in a gridpanel. The issue i am having is that i can only search on one of the layers and even if i select any other layer. I am quite new to coding and GeoExt but i am quickly learning (i think...). Any help whatsoever would be greatly appreciated.<br>
<br>Please see an extract from my code below - <br><br>&lt;html&gt;<br>    &lt;head&gt;<br>        &lt;!-- Search Tools --&gt;<br>        &lt;script type=&quot;text/javascript&quot; src=&quot;GeoExt/lib/GeoExt/widgets/form/SearchAction.js&quot;&gt;<br>
        &lt;/script&gt;<br>        &lt;script type=&quot;text/javascript&quot; src=&quot;GeoExt/lib/GeoExt/widgets/form/BasicForm.js&quot;&gt;<br>        &lt;/script&gt;<br>        &lt;script type=&quot;text/javascript&quot; src=&quot;GeoExt/lib/GeoExt/widgets/form/FormPanel.js&quot;&gt;<br>
        &lt;/script&gt;<br>        &lt;script type=&quot;text/javascript&quot; src=&quot;GeoExt.ux/ux/Toolbar/ux/widgets/MousePositionItem.js&quot;&gt;<br>        &lt;/script&gt;<br>        &lt;script type=&quot;text/javascript&quot;&gt;<br>
        <br>         var vectorLayer = new OpenLayers.Layer.Vector(&quot;vectorLayer&quot;);<br>                <br>                // THE SELECTIONMODEL IS DECLARED OUTSIDE THE FORMPANEL<br><br>                var select = new GeoExt.grid.FeatureSelectionModel();<br>
<br> // DEFINE THE SEARCH (WFS) DATA SOURCE<br>//********************************************<br><br>// Define protocol variables for the four web services<br>                var prtclLRM = OpenLayers.Protocol.WFS({<br>                    url: &quot;<a href="http://localhost/geoserver/wfs">http://localhost/geoserver/wfs</a>?&quot;,<br>
                    featureType: &quot;LRMsheets&quot;,<br>                    featureNS: &quot;<a href="http://www.website.com">http://www.website.com</a>&quot;,<br>                    srsName: &quot;EPSG:27700&quot;<br>
                });<br><br>                var prtclEXP = OpenLayers.Protocol.WFS({<br>                    url: &quot;<a href="http://localhost/geoserver/wfs">http://localhost/geoserver/wfs</a>?&quot;,<br>                    featureType: &quot;EXPsheets&quot;,<br>
                    featureNS: &quot;<a href="http://www.website.com">http://www.website.com</a>&quot;,<br>                    srsName: &quot;EPSG:27700&quot;<br>                });<br><br>                var prtclPostcode = OpenLayers.Protocol.WFS({<br>
                    url: &quot;<a href="http://localhost/geoserver/wfs">http://localhost/geoserver/wfs</a>?&quot;,<br>                    featureType: &quot;AL2_POSTAL&quot;,<br>                    featureNS: &quot;<a href="http://www.website.com">http://www.website.com</a>&quot;,<br>
                    srsName: &quot;EPSG:27700&quot;<br>                });<br>                var prtclGrids = OpenLayers.Protocol.WFS({<br>                    url: &quot;<a href="http://localhost/geoserver/wfs">http://localhost/geoserver/wfs</a>?&quot;,<br>
                    featureType: &quot;Grids&quot;,<br>                    featureNS: &quot;<a href="http://www.website.com">http://www.website.com</a>&quot;,<br>                    srsName: &quot;EPSG:27700&quot;<br>                });<br>
                //Add default prototcol<br>                var prtcl=prtclLRM<br><br>// CREATE A GEOEXT FORM PANEL (CONFIGURED WITH AN OPENLAYERS.PROTOCOL INSTANCE) AND RADIO BUTTONS<br>//*******************************************************************************************************************************************************<br>
                <br>// /CREATING A GROUP OF RADIOBUTTONS<br>                var radios = new Ext.form.RadioGroup({<br>                    //fieldLabel: &#39;Select&#39;,<br>                    columns: 2, //display the radiobuttons in two columns<br>
                    vertical: true,<br>                    items: [{<br>                        boxLabel: &#39;Landranger&#39;,<br>                        name: &#39;NUMBER&#39;,<br>                        inputValue: &#39;Landranger&#39;,<br>
                        checked: true<br>                    }, {<br>                        boxLabel: &#39;Explorer&#39;,<br>                        name: &#39;NUMBER&#39;,<br>                        //name: &#39;EXPNUMBER&#39;,<br>
                        inputValue: &#39;Explorer&#39;<br>                    }, {<br>                        boxLabel: &#39;Grid reference&#39;,<br>                        name: &#39;NUMBER&#39;,<br>                        inputValue: &#39;Grid&#39;<br>
                    }, {<br>                        boxLabel: &#39;Postcode&#39;,<br>                        name: &#39;RM_DP_PC&#39;,<br>                        inputValue: &#39;Postcode&#39;<br>                    }],<br>
<br>                    // ADD A LISTENER FOR THE RADIO GROUP<br>                    listeners: {<br>                        change: function(radiogroup, radio){<br>            rad=radio.inputValue;<br>            if (rad==&quot;Landranger&quot;){<br>
            prtcl=prtclLRM;<br>            }<br>            if (rad==&quot;Explorer&quot;){<br>            prtcl=prtclEXP;<br>            }<br>            if (rad==&quot;Grid&quot;){<br>            prtcl=prtclGrids;<br>            }<br>
            if (rad==&quot;Postcode&quot;){<br>            prtcl=prtclPostcode;<br>            }<br>                        }<br>                    }<br>                });<br>                formPanel = new GeoExt.form.FormPanel({<br>
<br>                    border: true,<br>                    layout: &#39;anchor&#39;,<br>                    bodyStyle: &#39;padding: 10px&#39;,<br>                    protocol: prtcl,<br>            items: [{<br>                        xtype: &quot;textfield&quot;,<br>
                        width: 220,<br>                        name: &quot;NUMBER&quot;,<br>                        value: &quot;&quot;,<br>                        emptyText: &#39;Type here...&#39;,<br>                        fieldLabel: &quot;Find&quot;,<br>
                        allowblank: false<br><br>                    }, radios],<br><br>                    listeners: {<br>                        actioncomplete: function(form, action){<br><br>      // THIS LISTENER TRIGGERS WHEN THE SEARCH REQUEST IS COMPLETE, THE OPENLAYERS.PROTOCOL.RESPONSE<br>
      // RESULTING FROM THE REQUEST IS AVAILABLE THROUGH &quot;ACTION.RESPONSE&quot;<br><br>                            features = action.response.features;<br>                            store.loadData(features);<br><br>
                            //form.getForm().getValues();<br><br>//*******************************************************************************************************************************<br>// CHECKS THE MAP TO FIND ANY LAYERS CALLED RESULTS THEN IF IT FINDS NONE IT CREATES AN OPENLAYERS VECTOR LAYER (CALLED RESULTS)<br>
// ADDS IT TO THE MAP AND THEN BINDS THE LAYER TO THE STORE (WHICH HAS THE DATA) AND THE SELECTION MODEL (SELECT).<br>// THIS MEANS THAT AFTER THE NEXT SEARCH THE LAYER WILL AUTOMATICALLY GET NOTIFIED THAT THE DATA CHANGED.<br>
//********************************************************************************************************************************<br>                            DVsearch = map.getLayersByName(&quot;Results&quot;);<br>                            if (DVsearch.length === 0) {<br>
                                DVLayer = new OpenLayers.Layer.Vector(&quot;Results&quot;, {<br>                                    displayInLayerSwitcher: false<br>                                });<br>                                map.addLayer(DVLayer);<br>
                                store.bind(DVLayer);<br>                                select.bind(DVLayer);<br>                            }<br>                        }<br>                    },<br>                    buttons: [{<br>
                        text: &#39;Search&#39;,<br>                        handler: function(){<br>                            formPanel.search();<br>                        }<br>                    }, {<br>                        text: &#39;Clear Results&#39;,<br>
                        handler: function(){<br>            store.removeAll(), <br>            formPanel.getForm().reset();                          <br>                        }<br>                    }],<br>                    keys: [{<br>
                        key: [Ext.EventObject.ENTER],<br>                        handler: function(){<br>                            formPanel.search();<br>                        }<br>                    }]<br>                });<br>
<br>                var cols = [{<br>                    name: &#39;NUMBER&#39;,<br>                    type: &#39;integer&#39;<br>                }, {<br>                    name: &#39;MAP_TITLE&#39;,<br>                    type: &#39;string&#39;<br>
                }, {<br>                    name: &#39;INSET_NAME&#39;,<br>                    type: &#39;string&#39;<br>                }, {<br>                    name: &#39;LATITUDE&#39;,<br>                    type: &#39;float&#39;<br>
                }, {<br>                    name: &#39;LONGITUDE&#39;,<br>                    type: &#39;float&#39;<br>                }];<br>                var reader = new GeoExt.data.FeatureReader({}, cols);<br>                var store = new GeoExt.data.FeatureStore({<br>
                    reader: reader,<br>                    fields: cols,<br>                    //layer: [protocol1, protocol2, protocol3],<br>                    autoLoad: false<br>                });<br><br> // CREATE GRID PANEL CONFIGURED WITH FEATURE STORE<br>
 //**************************************************************<br>                Results_gridPanel = new Ext.grid.GridPanel({<br>                    title: &quot;Results&quot;,<br>                    height: 500,<br>                    //region:&quot;center&quot;,<br>
                    stripeRows: true,<br>                    autoExpandColumn: &#39;NUMBER&#39;,<br>                    store: store,<br>                    columns: [{<br>                        id: &quot;NUMBER&quot;,<br>
                        header: &quot;Number&quot;,<br>                        width: 10,<br>                        sortable: true,<br>                        dataIndex: &quot;NUMBER&quot;<br>                    }, {<br>
                        header: &quot;Map Title&quot;,<br>                        width: 200,<br>                        dataIndex: &quot;MAP_TITLE&quot;<br>                    }, {<br>                        header: &quot;Map Inset&quot;,<br>
                        width: 150,<br>                        align: &#39;left&#39;,<br>                        dataIndex: &quot;INSET_NAME&quot;<br>                    }],<br>                    sm: select<br>                });<br>
                Results_gridPanel.on(&#39;rowdblclick&#39;, function(g, rowIdx, r){<br>                    rec = store.getAt(rowIdx);<br>                    map.setCenter(new OpenLayers.LonLat(rec.get(&#39;LATITUDE&#39;), rec.get(&#39;LONGITUDE&#39;)), 0);<br>
                });<br><br><br>Many thanks in advance.<br><br>Egbe<br><br>