2 votes

Pagingtoolbar n'affiche pas un résultat de recherche personnalisé

J'utilise pagingtoolbar de ExtJs, mais cela ne fonctionne pas correctement. J'ai une grille qui liste tous les enregistrements, pas de problème, mais quand je veux paginer un résultat de recherche personnalisé, il ne montre que la première page correctement, quand je clique pour montrer la deuxième page, il revient à l'url d'origine (montrer tous les enregistrements), mais je veux que l'url du magasin ait toujours l'url de recherche.

Url original : historico-ocorrencia

Recherche url : 'historico-ocorrencia/search' (en anglais)

Lorsque je clique sur un bouton, le code suivant est exécuté :

formSearch.submit({
                    url: 'historico-ocorrencia/search',
                    method: 'get',
                    params: {
                        dataInicial: time,
                        dataFinal: timeFinal
                    },
                    success: function(form, action) {
                        store.removeAll();
                        store.add(action.result.historicoOcorrencias);
                    },
                });

Mais lorsque je clique dans la barre d'outils de pagination pour afficher la deuxième page, le code ci-dessus n'est pas déclenché, car je ne clique pas dans un bouton de recherche. Je veux un moyen d'afficher toutes les pages suivantes en utilisant l'url 'historico-ocorrencia/search' tout en passant les paramètres.

Merci, si vous avez des questions, n'hésitez pas à me les poser.

2voto

Reimius Points 4079

Vous devez remplacer le bouton d'envoi par un bouton normal et faire quelque chose comme ceci dans le gestionnaire de ce bouton :

handler: function (){
    store.getProxy().url = 'historico-ocorrencia/search';
    store.getProxy().extraParams.dataInicial = time;
    store.getProxy().extraParams.dataFinal = timeFinal;
    (a reference to your paging toolbar).doRefresh();
}

La raison pour laquelle votre solution actuelle ne fonctionne pas est que votre magasin demande toujours des informations au serveur pour chaque page et que vous n'avez rien fait pour changer la façon dont il demande ces données. Il fera donc la demande de la même façon qu'il l'a toujours fait.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X