<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 12 (filtered medium)">
<style>
<!--
/* Font Definitions */
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page Section1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.Section1
        {page:Section1;}
-->
</style>
<!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang=EN-GB link=blue vlink=purple>
<div class=Section1>
<p class=MsoNormal>Hi there I was wondering if someone could give me some
advice on a problem I am having populating a combobox in GeoExt.<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>First of all I have feature attribute store of my data given
by the following code called in when the page initialises:<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>layer_attribute_store = new GeoExt.data.AttributeStore({<o:p></o:p></p>
<p class=MsoNormal> url: "<a
href="http://localhost:8080/geoserver/wfs?service=wfs&version=1.1.0&request=DescribeFeatureType&typeName=cite:USA">http://localhost:8080/geoserver/wfs?service=wfs&version=1.1.0&request=DescribeFeatureType&typeName=cite:USA</a>"
<o:p></o:p></p>
<p class=MsoNormal>
});<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal> layer_attribute_store.load();<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>This store is then loaded into a combobox defined below:<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>var themeCriteria = new Ext.form.ComboBox({<o:p></o:p></p>
<p class=MsoNormal>
<o:p></o:p></p>
<p class=MsoNormal>
fieldLabel: 'Criteria',<o:p></o:p></p>
<p class=MsoNormal>
width: 130,<o:p></o:p></p>
<p class=MsoNormal>
id: 'criteriaId',<o:p></o:p></p>
<p class=MsoNormal>
name: 'criteria',<o:p></o:p></p>
<p class=MsoNormal>
hiddenName: 'criteria',<o:p></o:p></p>
<p class=MsoNormal>
forceSelection:true,<o:p></o:p></p>
<p class=MsoNormal>
editable:false,<o:p></o:p></p>
<p class=MsoNormal>
triggerAction: 'all',<o:p></o:p></p>
<p class=MsoNormal>
mode: 'local',<o:p></o:p></p>
<p class=MsoNormal>
store: layer_attribute_store,<o:p></o:p></p>
<p class=MsoNormal>
valueField: 'name',<o:p></o:p></p>
<p class=MsoNormal>
emptyText: "Name",<o:p></o:p></p>
<p class=MsoNormal>
triggerAction: "all",<o:p></o:p></p>
<p class=MsoNormal>
displayField: "name"<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>
});<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>The combobox is then placed in a panel within a Viewport
using normal apporach and placing in "items" catagory:<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>
items: [themeCriteria,SomethingElse1,SomethingElse2]<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>This all works fine and it displays the attributes within
the layer. Later however I want the use to be able to click on a radio button
to change the layer name and subsequently update the combobox with the new
layer attributes. Now I can get the layer name to change using the listner
method in the layertree as shown in the examples and I can update the
layer_attribute_store using the following:<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal> layer_attribute_store = new
GeoExt.data.AttributeStore({<o:p></o:p></p>
<p class=MsoNormal> url: "<a
href="http://localhost:8080/geoserver/wfs?service=wfs&version=1.1.0&request=DescribeFeatureType&typeName=">http://localhost:8080/geoserver/wfs?service=wfs&version=1.1.0&request=DescribeFeatureType&typeName=</a>"
+ node.layer.name<o:p></o:p></p>
<p class=MsoNormal> <o:p></o:p></p>
<p class=MsoNormal> });<o:p></o:p></p>
<p class=MsoNormal>
<o:p></o:p></p>
<p class=MsoNormal>
layer_attribute_store.load();<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>For the life of me, however, I cannot get this new store to
render into the combobox that is already created? I'm guessing there should be
a simple piece of code that would just refresh the contents of the combobox
accordingly but I've been searching online and trying different ways now for 2
weeks and still at a loss to a solution. If anyone has any ideas how to solve
this it would be a great help.<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>Thank you.<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>Kind regards,<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>Barry<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>Email: <a href="mailto:be208@exeter.ac.uk">be208@exeter.ac.uk</a><o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
</div>
</body>
</html>