GeoExt store wfs protocol

Fermé
semyo
Messages postés
2
Date d'inscription
vendredi 3 avril 2015
Statut
Membre
Dernière intervention
7 mai 2015
- 7 mai 2015 à 15:31
Salut,
Si quelqu'un peut m'aider je serais reconnaissant,
J'ai appliquer un filtre dans ma forme-Panel, mais quand j'exécute, l'erreur suivante s'affiche ("TypeError: rec is undefined
map.setCenter(new OpenLayers.LonLat(rec.get('x'),rec.get('y')), 10);")
Peut être ma "store" est vide !! si c'est le cas qu'est ce que je peux faire !??
Voici le code:

var protocol= OpenLayers.Protocol.WFS({
url: "http://localhost:8080/geoserver/wfs",
featureType: "zones",
featureNS: "http://localhost:8080/geoserver"
});
formPanel = new GeoExt.form.FormPanel({
title: "Recherche des zones",
height: 200,
region: "north",
protocol: protocol,

items: [{
xtype: 'combo',
id: 'natureCombo',
fieldLabel: 'Nature',
name: 'nature__eq',
store: new Ext.data.SimpleStore({
data: [
[0, 'T1'],
[1, 'T2'],
],
id: 0,
fields: ['value', 'text']
}),
mode : 'local',
valueField: 'value',
displayField: 'text',
emptyText: 'selectionner la nature',
triggerAction: 'all',
editable: false
},

{
xtype: 'textfield',
id: 'indiceTxt',
name: 'indice__eq',
emptyText: 'entrer un indice',
value: "",
fieldLabel: "indice"
},


],

listeners: {
actioncomplete: function(form, action) {
features = action.response.features;
store.loadData(features);
rec=store.getAt(1);
vm=map.getLayersByName("Resultats");


if(vm.length===0){
vecLayer = new OpenLayers.Layer.Vector("Resultats");
map.addLayer(vecLayer);
store.bind(vecLayer);
select.bind(vecLayer);
}
}},



buttons: [{text: 'Search',
handler: function(){
var natureCombo = Ext.getCmp('natureCombo').getRawValue();
var indiceTxt = Ext.getCmp('indiceTxt').getRawValue();


if (natureCombo == null || indiceTxt == null )
{
alert("verifiez les champs de recherche");
}
else {
if(store.getTotalCount()>0){
alert("Store is not empty");
} else{
alert("Store empty");
}

rec=store.getAt(1);
map.setCenter(new OpenLayers.LonLat(rec.get('x'),rec.get('y')), 10);
formPanel.search();

}
}
}],
});
var cols = [ {name: 'zonet', type: 'string'},
{name: 'mappe', type: 'string'},
{name: 'type', type: 'string'}
];

var reader = new GeoExt.data.FeatureReader({},cols);

var store = new GeoExt.data.FeatureStore({
reader: reader,
fields: cols,
autoLoad: false
});

Merci.