salut,
je travail avec extjs 4 ,
je veux utiliser la notion d'autocomplete dans mon exemple
c'est à dire lorsque je suis entrain de taper du caractère dans le composant extjs une requête sera envoyer en mode remote au service pour récupérer la liste des employées selon le texte saisi( selon le critère de recherche)
j'ai essayer avec ce code :
dans la page emplyeesModel.js :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| Ext.define('GenericComboModel', {
extend: 'Ext.data.Model',
fields: [
{name: 'label', type: 'string'},
{name: 'value', type: 'string'}
]
});
var employeesStore= Ext.create('Ext.data.Store', {
model: 'GenericComboModel',
proxy: {
type: 'ajax',
url: 'employeesService',
reader: {
type: 'json',
root: 'users'
}
}
}); |
dans la page emplyeesView.js
1 2 3 4 5 6 7 8 9 10 11 12 13
| {
xtype: 'combobox',
store: employeesStore,
displayField: 'label',
valueField: 'value',
queryMode: 'remote',
fieldLabel: 'test',
editable: false,
id: 'employees_IdCombo',
hideTrigger:true
queryParam: 'searchStr'
} |
dans la service employeesService.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| public class employeesService{
public List<employees> getEmployeesListByLibelle(String libelle) {
// TODO Auto-generated method stub
Query query = getSession().createQuery("FROM employees emp where emp.libelle=:libelle ");
query.setParameter("libelle", libelle);
List result = query.list();
if(result.size()!=0 && result !=null)
return result;
else
return null;
}
} |
mais lors de test de ce code j'ai cette erreur :
GET http://localhost:8080/employeesService.getEmployeesListByLibelle?_dc=1376728740208&searchStr=testSearch&page=1&start=0&limit=25&filter=%5B%7B%22property%22%3A%22label%22%7D%5D 404 (Introuvable) ext-all-rtl.js:21
merci d'avance
Partager