[Users] Load combo, FeatureStore and filter values

Jorge Lopez jorgelopez.physics at gmail.com
Thu Nov 3 12:52:15 CET 2011


Thanks Matt for your advice.

Anyway I didn`t succeed it. As you comment, first I should create an array
by using 'collect' method on combo's store. I got it by using an easy
example of an arraystore (static) but in my example, with data provided by
an web service, when I use collect method like this:


var combo1=new Ext.form.ComboBox({
fieldLabel:'Filtro Pais',
name:'cmb-P',
forceSelection: true,
store: store2.collect('COUNTRY'), //store2 is my combo's store
mode: 'local',
emptyText:'Select a country',
triggerAction: 'all',
//allQuery: 'DISTINCT',
editable:false,
displayField:'COUNTRY',
valueField: 'COUNTRY'
 });

Nothing is appeared. I think that store is not loaded, so nothing can
happen but why I got it if collect is not used?

I can figure out what is happening.

Jorge


On Wed, Nov 2, 2011 at 3:38 PM, Matt Priour <mpriour at kestrelcomputer.com>wrote:

>   You’re going to want to use an ArrayStore for that “COUNTRY” combo box,
> not the feature store.
> If you use the feature store and filter unique countries, you will also be
> filtering the grid.
> Provide the array returned by the ‘collect’ method (
> http://docs.sencha.com/ext-js/3-4/#!/api/Ext.data.Store-method-collect)
> on the feature store to the ArrayStore’s loadData function.
> Put a listener on the combo box for the ‘select’ event that uses the
> selected value to filter the feature store is you want to limit feature
> records by that value.
> If you are just looking to do linked combos, and not do any filtering or
> only filter after the user has made a series selections from linked combos,
> then you should have the ‘select’ listener for the first combo box ‘query’ (
> http://docs.sencha.com/ext-js/3-4/#!/api/Ext.data.Store-method-query) the
> feature store and either directly use the returned collection in the linked
> child combo box(es) or further process the collection to unique values for
> a simple array store backed combo box
>
> Matt Priour
>
>
>  *From:* Jorge Lopez <jorgelopez.physics at gmail.com>
> *Sent:* Wednesday, November 02, 2011 5:22 AM
> *To:* users at geoext.org
> *Subject:* [Users] Load combo, FeatureStore and filter values
>
>
> Hello everyone:
>
>
>
> I am driving mad with this problem. I am doing a web application with
> OpenLayers, ExtJs and GeoExt and the simple fact to load values in a combo
> have become hard.
>
> Step1: I have defined a featurestore that stores the records from a layer
> in Geoserver. No problem to load these items in a GeoExt gridPanel. This
> store has been generated with this code:
>
>
>
> ----
>
> store = new GeoExt.data.FeatureStore({
>
>                         layer: wfslayer,
>
>                         fields: [
>
>                              {name: 'PLANT', type: 'string'},
>
>                              {name: ‘COUNTRY’, type: ‘string’},
>
>                             {name: ‘STATUS', type: 'string'},
>
>                             {name: 'long', type:
> 'float'},
>
>                             {name: 'lat', type: 'float'},
>
>                         ],
>
>                             proxy: new GeoExt.data.ProtocolProxy({
>
>                                     protocol: new OpenLayers.Protocol.WFS({
>
>                                  //version: "1.0.0",
>
>                                                srsName: 'EPSG:900913',
>
>                                              url: "
> http://localhost:8080/geoserver/wfs",
>
>                                              featureNS: '
> http://localhost:8080/wfs',
>
>                                                featurePrefix: nomPrefix,
>
>                                                featureType: nomLayer,
>
>                                                geometryName: nomGeometry,
>
>                                                schema:
> http://localhost:8080/geoserver/wfs?service=WFS&request=DescribeFeatureType&typename=lonlat22
> "
>
>
> })
>
>                                                            }),
>
>                                                autoLoad: true
>
>                                    });
>
> --
>
>
>
> This store has records with fields (COUNTRY) that contains repeated values
> and I would like to filter that store by this field: COUNTRY. For that, I
> have created a ComboBox and I am trying to show only “no repeated” values
> but no success.
>
>
>
> var combo1=new Ext.form.ComboBox({
>
>                                                fieldLabel:'Filtro Pais',
>
>                                                name:'cmb-P',
>
>                                                forceSelection: true,
>
>                                                store: store,
>
>                                                emptyText:'Escoge un
> país',
>
>                                                triggerAction: 'all',
>
>                                                //allQuery: 'DISTINCT',
>
>                                                editable:false,
>
>                                                displayField:'COUNTRY',
>
>                                                valueField: 'COUNTRY'
>
>                                    });
>
> This combo shows a list of all (repeated) values from store. This a
> question of ExtJS forum but I would appreciate if anyone knew how to filter
> it out.
>
>
>
> Once a country is selected from combo, I would like to be shown the STATUS
> associated to that selected COUNTRY. This is a question of anidated combos
> but I don’t know how to ‘featurefilter’ config tag would be entered in this
> problem.
>
>
>
> Any ideas?
>
>
>
> Thanks in advanced
>
>
>
> Jorge
>
> ------------------------------
> _______________________________________________
> Users mailing list
> Users at geoext.org
> http://www.geoext.org/cgi-bin/mailman/listinfo/users
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.geoext.org/pipermail/users/attachments/20111103/c97ad9b2/attachment.htm 


More information about the Users mailing list