Pergunta

Eu não posso descobrir isso. Esta questão também foi perguntado aqui http://www.nabble.com/TableSorter-plugin---default-column-sort-DESC-instead--How--to25180761s27240.html#a25180761 sem resposta.

Eu tentei

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

e alterando o arquivo jquery.tablesorter.js como padrão para 'desc', mas ele não funciona. Quando eu clicar nos cabeçalhos de coluna, a primeira espécie ainda está ascendendo assim que o usuário tem que clicar duas vezes para descer os valores.

Como posso obter Tablesorter para ordenar por descendente por padrão?

Foi útil?

Solução

Parece um bug no código tablesorter, ou eu estou mal-entendido que o parâmetro sortInitialOrder é suposto fazer. Na linha 536 que define a ordem classificador por olhar para o número de vezes que a coluna está classificada e tendo o valor mod 2. Ele também deve levar em conta o valor de sortInitialOrder.

Alterar linha 536 a partir

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

para

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

e adicionar depois desta linha (de modo que o primeiro clique em uma coluna diferente dá-lhe o padrão)

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

e mude a linha 421 a partir

o.count = s[1];

para

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

para que a ordem inicial é substituído se um sortList é aplicada.

Em seguida, você pode usar o parâmetro sortInitialOrder para tablesorter para configurar um padrão primeira ordem de classificação para a coluna. Qualquer ordenação fornecido no sortList irá substituir o sortInitialOrder prevista a tabela inteira.

Note que isso se aplica a Tablesorter 2.0.

Outras dicas

Tente a versão mais recente a partir do site tablesorter - este parece ser fixado em algum lugar entre a versão 2.0.3 e 2.0.5.

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

    }); 
    } 
); 
</script>

... que trabalhou com a última versão do tablesorter, mas não o fez com a anterior que eu tinha. Espero que ajude!

Basta usar isso, segundo item na matriz é a ordem de classificação (0 = ascendente, 1 = decrescente):

.tablesorter({ sortList: [[0, 1]] });
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top