IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Ext JS / Sencha Discussion :

Pagination et filtre avec extJS


Sujet :

Ext JS / Sencha

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 34
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  2. #2
    Membre expérimenté Avatar de JulienFio
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    201
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 201
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    store.on('beforeload', function(){
                store.baseParams = {communeId : filtreCommune.getValue()};
            });
    quelque chose du genre

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 34
    Par défaut
    Ca marche! Merci beaucoup!!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Pagination et tri avec Extjs
    Par JulienFio dans le forum Ext JS / Sencha
    Réponses: 5
    Dernier message: 26/02/2010, 17h24
  2. Filtre avec pagination
    Par creatchy dans le forum Langage
    Réponses: 14
    Dernier message: 12/12/2006, 17h30
  3. Filtre avec zone de liste déroulante
    Par petitloup71 dans le forum Access
    Réponses: 10
    Dernier message: 08/07/2006, 12h21
  4. Filtre Avec Password
    Par @rkane dans le forum Sécurité
    Réponses: 7
    Dernier message: 15/06/2006, 22h31
  5. Recherche et filtre avec un dynaset
    Par mat75019 dans le forum Access
    Réponses: 10
    Dernier message: 10/04/2006, 19h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo