Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript > Bibliothèques & Frameworks > Ext JS / Sencha
Ext JS / Sencha Ext JS / Sencha Forum d'entraide sur les frameworks Ext JS et Sencha. Avant de poster : FAQ ExtJS / Sencha, Toutes les FAQ JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 06/12/2010, 18h27   #1
Futur Membre du Club
 
Inscription : mars 2009
Messages : 30
Détails du profil
Informations forums :
Inscription : mars 2009
Messages : 30
Points : 17
Points : 17
Par défaut Pagination et filtre avec extJS

Bonjour,

J'ai un formulaire avec une PagingToolBar. Dans ce formulaire, j'affiche une liste de fiscalités et j'utilise une comboBox pour filtrer ces fiscalités par leur ville. Lorsque dans cette combo, je choisis une ville, le filtre marche bien mais lorsque je veux changer de pages, le filtrage est perdu.

J'ai essayé de rajouter un paramètre à ma PagingToolBar mais ça ne marche pas. Est-ce que je n'ai pas passé le paramètre comme il le faudrait ou est-ce que ce n'est tout simplement pas possible?
Existe-t-il une autre solution?

Voici mon code :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
 
var filtreCommune;
 
 
function initGrid() {
	var store = new Ext.data.JsonStore({
    	autoLoad : false,
     	totalProperty: 'total',
        successProperty: 'success',
    	url: loadGridUrl,
    	remoteSort:true,
    	root: 'data',
    	fields: ['annee', 'commune', 'communeId']
	});
 
	var pt= new Ext.PagingToolbar({
            store: store,
            displayInfo: true,
            pageSize: 20,     
            paramNames:{start: 'start', limit: 'limit', communeId : 'communeId'}
 
        });
 
	pt.on("beforechange",function(){
		communeId = filtreCommune.getValue();
	});
 
 
	filtreCommune = new Ext.form.ComboBox({
			displayField: 'libcommune',
	        forceSelection: true,
	        emptyText: 'Sélection',
	        store:  new Ext.data.SimpleStore({
	        	url: getCommunesUrl,
	  			fields: ['idcommune', 'libcommune']
	        }),
	        hiddenName: 'communeId',
	        valueField: 'idcommune',
	        triggerAction: 'all',
	        fieldLabel: 'Commune',
	        width: 150,
	        allowBlank: true,
	        anchor: '90%',
	        lazyLoadForValue: true,
	        storeField: ['idcommune', 'libcommune'],
	        disabled: false ,
	        timeout : 10000000,
	        loadingText:'Chargement ...'
		});
 
	filtreCommune.on("select", function(newVal, oldVal) {
				reloadResults();
		    });
 
	filtreCommune.on("reset", function(newVal, oldVal) {
				reloadResults();
		    });
 
 
	grid = new Ext.grid.EditorGridPanel({
		loadMask:true,
		applyTo : 'grid-fiscalite',
        store: store,
        columns: [
            {id:'annee',header: "Année", width: 63, sortable: true, dataIndex: 'annee'},
            {header: "Commune", width: 88, sortable: true, dataIndex: 'commune'},
            {dataIndex: 'communeId',hidden:true}
        ],
        sm : sm,
        stripeRows: true,
        autoExpandColumn: 'annee',
        autoHeight: true,
        width:969,
        height:500,
        tbar: [ new Ext.menu.TextItem({ text: '| Commune : ', style: { padding: '5px' } }),filtreCommune],
        //columnLines: true ,
        title:'Fiscalités',
        bbar: pt
     });	
 
	 return grid;
 
}
 
function reloadResults() {
   grid.store.load({params:{start:0, limit:20, communeId : filtreCommune.getValue() , typeId : filtreTaxe.getValue()}});
}
Merci par avance
anonyhm est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2010, 08h41   #2
Membre éclairé
 
Avatar de JulienFio
 
Julien Fiorentino
Inscription : novembre 2007
Messages : 201
Détails du profil
Informations personnelles :
Nom : Julien Fiorentino
Âge : 28
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : novembre 2007
Messages : 201
Points : 336
Points : 336
Bonjour,
Ce qu'il y a c'est que tu envoie ton paramètre idCommune que lors d'un select sur ta combo. Ce qu'il faudrait c'est le définir à chaque load de ton store, y compris au changement de page.

Code :
1
2
3
4
 
store.on('beforeload', function(){
            store.baseParams = {communeId : filtreCommune.getValue()};
        });
quelque chose du genre
JulienFio est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2010, 09h17   #3
Futur Membre du Club
 
Inscription : mars 2009
Messages : 30
Détails du profil
Informations forums :
Inscription : mars 2009
Messages : 30
Points : 17
Points : 17
Ca marche! Merci beaucoup!!
anonyhm est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h09.


 
 
 
 
Partenaires

Hébergement Web