comment obtenir de la colonne de tri en cours dans un jqGrid après que l'utilisateur clique sur un en-tête de colonne
Je suis dans le beforeRequest gestionnaire, et voudrais savoir ce que la colonne de tri en cours. Comment puis-je trouver cela?
Vous devez vous connecter pour publier un commentaire.
Vous pouvez examiner les valeurs de la jqGrid paramètres
sortname
etsortorder
("desc" ou "asc"). Pour obtenir les paramètres que vous pouvez utilisergetGridParam
méthode:et
setLabel
méthode. Voir stackoverflow.com/questions/3003187/... comme un exemple.setLabel
l'utilisation d'une méthode uniquementaddClass
oucss
méthodes et aucunremoveClass
. Utilisez donc d'avoir à le faire manuellement. LesetLabel
méthode suivante (voir la section github.com/tonytomov/jqGrid/blob/master/js/grid.base.js#L2904): Il convertir le nom de la colonne à la position de la colonne si nécessaire. Ensuite, il utilisevar thecol = $("tr.ui-jqgrid-labels th:eq("+pos+")",$t.grid.hDiv);
pour obtenir le<th>
élément et enfin les appels$(thecol).addClass(prop);
ou$(thecol).css(prop);
. Vous pouvez faire de même pour être plus proche desetLabel
méthode, mais l'utilisationremoveClass
.$("#list").jqGrid('getGridParam','lastsort')
pour obtenir le précédent ordre de tri. Ce que vous entendez dans le cadre du "tri d'origine nom"?loadComplete
par exemple. Le code peut être commeif (typeof myVarFirstSortName === 'undefined') { myVarFirstSortName = $("#list").jqGrid('getGridParam','sortname'); }