2012-04-26 5 views

Répondre

0

Le css pour le bouton de rafraîchissement est ui-icon-refresh

de sorte que vous pouvez écrire votre code personnalisé sur ce css comme

jQuery('.ui-icon-refresh').click(function(){ 
    // do your work 
}); 
17

Si vous avez besoin de faire quelques actions avant rafraîchissement sera lancé, vous devez utiliser beforeRefresh callback:

$("#grid_id").jqGrid('navGrid', '#gridpager', { 
    beforeRefresh: function() { 
     // some code here 
    } 
}); 

Si vous avez besoin absolue d'une autre mise en œuvre o grille f Rafraîchissant où vous n'appeler $("#grid_id").trigger("reloadGrid"); (dont le son étrange), vous pouvez le faire par l'utilisation de l'option refresh: false pour supprimer le bouton standard Actualiser et en utilisant navButtonAdd pour ajouter votre bouton personnalisé qui ressemble exactement à l'original:

$("#grid_id").jqGrid('navGrid', '#gridpager', {refresh: false}); 
$("#grid_id").jqGrid('navButtonAdd', "#gridpager", { 
    caption: "", title: "Reload Grid", buttonicon: "ui-icon-refresh", 
    onClickButton: function() { 
     alert('"Refresh" button is clicked!'); 
    } 
}); 
+0

Merci beaucoup! J'en avais besoin aussi. Cela ne clone pas l'icône dans la barre de navigation supérieure même si ** cloneToTop ** est défini sur _true_. J'ai l'implémentation personnalisée d'enregistrement sur la grille où je pousse tous les changements au serveur à la fin sur un clic externe de bouton. J'avais besoin de cette implémentation pour avertir les utilisateurs de toute modification non enregistrée (et probablement arrêter _refresh_ en fonction de la réponse) quand ils essayaient de recharger la grille en utilisant l'icône d'actualisation. Je n'ai aucune option avec la fonction ** beforeRefresh ** pour arrêter d'actualiser la grille ... bizarre !! – justcurious

+1

@justcurious: Vous êtes les bienvenus! Je comprends votre problème avec l'arrêt du processus d'actualisation. Ce que vous pouvez faire est d'utiliser le rappel 'beforeRequest'. Si vous renvoyez false à partir du rappel, vous pouvez arrêter le rafraîchissement. Par exemple, si vous utilisez la pagination des données et que l'utilisateur clique sur le tri des colonnes, vous pouvez avoir le même problème, par exemple avec un rafraîchissement. L'utilisation de 'beforeRequest' me semble être la solution de tels problèmes. Si vous avez deux téléavertisseurs et que vous souhaitez ajouter un bouton aux deux téléavertisseurs, vous devez simplement appeler 'navButtonAdd' deux fois (voir [la réponse] (http://stackoverflow.com/a/8450272/315935)). – Oleg

+0

doux ... c'était une réponse rapide! Vos deux idées sont bonnes. Merci! – justcurious