Il semble que les propriétés jqGrid sortname
et sortorder
n'entraînent pas le tri de votre ensemble de données. Elles provoquent simplement l'affichage des flèches haut/bas.
Comment pouvez-vous obtenir votre ensemble de données pour trier sur le téléchargement?
Le tri fonctionne bien lorsque vous cliquez sur les en-têtes de colonne, mais je souhaite qu’un tri par défaut soit appliqué à nos données.
Mise à jour: lorsque nous cliquons sur le bouton suivant, la demande suivante trie les données.
Cela provoque une interface utilisateur légèrement déroutante dans laquelle les données sont chargées avec une flèche vers le bas dans une colonne - et les données ne sont pas triées - mais lorsque vous cliquez sur Suivant, les données sont maintenant triées.
Il semble que si j'omette nom de tri et ordre de tri que jqGrid affiche toujours l'icône de tri - bizarre.
Vous pourriez donner le même paramètre deux fois (une erreur très courante lorsque vous copiez-programmez un programme): pas d'infraction. Je le fais aussi.)
Dites que vous voulez trier par OpeningDate décroissant
..... options ....
sortname: "OpeningDate",
sortorder: "desc", <---- assume you write this line and expect to sort descending
..... some other options ....
sortorder: "asc", <---- and this line may also be there but you may not be noticing it
..... and other options ....
la deuxième option "ordre de tri" remplace la première et vous ne pourrez pas trier par ordre décroissant
Je faisais face au même problème. Utilisez ceci après avoir chargé les données :
$("#tableId").jqGrid('sortGrid','colName', false, 'asc');
ou
$("#tableId").sortGrid('colName', false, 'asc');
La grille est rechargée si la valeur booléenne est définie sur true. Le dernier paramètre peut être 'asc'/'desc', en fonction de l'ordre de tri.
Vous avez peut-être commis la même erreur que moi, qui consistait à baser mon script client sur un ancien exemple qui utilisait "sortName" au lieu de "sortname"
Essayez d'utiliser
$("#list").jqGrid('setGridParam',{ page: 1 }).trigger("reloadGrid");
ou
$("#list").jqGrid('setGridParam',{ rowNum: 10 }).trigger("reloadGrid");
(remplacez 10 par la valeur que vous définissez comme paramètre rowNum). Si cela ne vous aide pas, postez votre code dans votre question.
le problème est (je crois) que les paramètres sortName ni sidx sont lus lors de la demande du premier ensemble de données
/ Cheesy Alerte de réponse
Pourquoi ne pas masquer l'icône triée lors du premier chargement? La première fois que quelqu'un trie, affiche et les choses fonctionnent comme prévu. Cela ressemble à votre intention de charger non trié jusqu'à ce que l'utilisateur choisisse une colonne sur laquelle effectuer le tri.