2010-11-15 6 views
0

J'utilise jqgrid et j'ai besoin de mettre à jour un graphique (jquery flot) basé sur le contenu de la grille.jqgrid search event

Ma question est, y at-il un événement que je peux attraper chaque fois qu'une recherche est préformée?

J'ai lu la documentation sur jqgrid mais jusqu'à présent, je peux juste mettre à jour le graphique lorsque la grille est créée, pas quand une recherche est effectuée.

Toute aide que vous pouvez me donner serait bien.

Merci d'avance.

Répondre

2

Cela peut dépendre un peu de la forme de recherche que vous utilisez. L'événement onInitializeSearch peut être un bon choix. Si cela ne vous aide pas, vous devez ajouter votre question avec plus d'informations que vous utilisez (Toolbar Searching, Single field searching, Advanced Searching ou Custom Searching) et à quel moment (avant, après ...) vous devez recevoir un événement.

De plus probablement vous avez besoin d'attraper pas vraiment l'événement de recherche, mais l'événement loadComplete par exemple. À chaque rechargement de la grille et à chaque recherche, le gestionnaire d'événements est appelé à la fin du traitement.

+0

Salut! J'ai déjà essayé l'événement loadComplete et cela fonctionne si je rafraichis la page entière sur le navigateur. Mais la chose étrange est que ce n'est pas le cas quand je fais une recherche. L'événement n'est tout simplement pas attraper. Ce loadComplete serait parfait s'il était tiré sur la recherche. – fmarinheiro

+1

@fmarinheiro: Le 'loadComplete' doit être déclenché lors de la recherche. Si ce n'est pas le cas dans votre cas, vous devez ajouter votre question à un exemple de code qui peut être utilisé pour reproduire votre problème. Soit vous trouvez un bogue dans jqGrid, soit vous faites une petite erreur dans l'utilisation de jqGrid. Dans les deux cas, l'exemple de code sera nécessaire. – Oleg

+0

Ok, la charge complète fonctionne était mon erreur. Lors de la définition des options de grille e RENDAIT: ...... gridview: true, LoadComplete: functionIWantToCall (param), ...... Maintenant, je fais de cette façon: .... gridview: true, loadComplete: function() {functionIWantToCall (param); }, ...... Je ne sais pas pourquoi cela ne fonctionne pas la première façon, mais maintenant ça fonctionne bien. Merci pour les conseils. – fmarinheiro