Question

Je ne peux pas comprendre cela. Cette question a également été posée ici http://www.nabble.com/TableSorter-plugin---default-column-sort-DESC-instead--How--to25180761s27240.html#a25180761 sans réponse.

j'ai essayé

    $.tablesorter.defaults.sortInitialOrder = 'desc';

et en modifiant le fichier jquery.tablesorter.js par défaut en 'desc' mais cela ne fonctionne pas. Lorsque je clique sur les en-têtes de colonne, le premier tri est toujours croissant. L'utilisateur doit donc cliquer deux fois pour descendre les valeurs.

Comment puis-je faire en sorte que Tablesorter trie par défaut en ordre décroissant?

Était-ce utile?

La solution

Cela ressemble à un bogue dans le code tableorter, ou je ne comprends pas ce que le paramètre sortInitialOrder est censé faire. À la ligne 536, il définit l’ordre du trieur en regardant le nombre de fois où la colonne a été triée et en prenant la valeur mod 2. Il doit également prendre en compte la valeur de sortInitialOrder.

Modifier la ligne 536 de

this.order = this.count++ % 2;

à

this.order = this.count++ == 0 ? this.order : (1 - this.order);

Et ajoutez après cette ligne (pour que le premier clic sur une colonne différente vous donne la valeur par défaut)

$headers.not($cell).each( function() {
    this.count = 0;
});

et changez la ligne 421 de

o.count = s[1];

à

o.order = o.count = s[1];

afin que l'ordre initial soit remplacé si une liste de tri est appliquée.

Ensuite, vous pouvez utiliser le paramètre sortInitialOrder avec tablesorter pour configurer un premier ordre de tri par défaut pour la colonne. Tout ordre fourni dans sortList remplacera le sortInitialOrd fourni pour la table entière.

Notez que cela s’applique à Tablesorter 2.0.

Autres conseils

Essayez la dernière version du site tablesorter - cela semble être résolu quelque part entre les versions 2.0.3 et 2.0.5.

<script type="text/javascript">
$(document).ready(function() 
    { 
        $("#theTable").tablesorter({ 
            sortInitialOrder: 'desc',
            sortList: [[3,1]] // etc.

    }); 
    } 
); 
</script>

... qui fonctionnait avec la dernière version de tablesorter, mais pas avec la précédente. J'espère que ça aide!

Utilisez simplement ceci, le deuxième élément du tableau est l’ordre de tri (0 = croissant, 1 = décroissant):

.tablesorter({ sortList: [[0, 1]] });
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top