Pregunta

No puedo resolver esto. Esta pregunta también se hizo aquí http://www.nabble.com/TableSorter-plugin---default-column-sort-DESC-instead--How--to25180761s27240.html#a25180761 sin respuesta.

Lo he intentado

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

y al modificar el archivo jquery.tablesorter.js para que se establezca por defecto en 'desc' pero no funciona. Cuando hago clic en los encabezados de las columnas, la primera ordenación sigue ascendiendo, por lo que el usuario tiene que hacer doble clic para descender los valores.

¿Cómo puedo hacer que Tablesorter ordene de forma descendente de forma predeterminada?

¿Fue útil?

Solución

Parece un error en el código del orden de las tablas, o estoy entendiendo mal lo que se supone que hace el parámetro sortInitialOrder. En la línea 536, establece el orden de clasificación mirando el número de veces que se ha ordenado la columna y tomando el valor mod 2. También debe tener en cuenta el valor de sortInitialOrder.

Cambiar línea 536 desde

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

a

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

Y agregue después de esta línea (para que el primer clic en una columna diferente le dé el valor predeterminado)

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

y cambia la línea 421 de

o.count = s[1];

a

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

para que la orden inicial se invalide si se aplica una lista de ordenación.

Luego, puede usar el parámetro sortInitialOrder para tablesorter para configurar un primer orden de clasificación predeterminado para la columna. Cualquier orden provista en la lista de ordenamiento anulará la orden de orden de clase provista para toda la tabla.

Tenga en cuenta que esto se aplica a Tablesorter 2.0.

Otros consejos

Pruebe la última versión del sitio de tablesorter. Parece que esto se solucionó en algún lugar entre la versión 2.0.3 y 2.0.5.

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

    }); 
    } 
); 
</script>

... que funcionó con la última versión de tablesorter, pero no con la anterior que tenía. Espero que ayude!

Simplemente use esto, el segundo elemento de la matriz es el orden de clasificación (0 = ascendente, 1 = descendente):

.tablesorter({ sortList: [[0, 1]] });
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top