Existe uma maneira de desativar a classificação inicial para jquery DataTables?

231

Estou usando o plugin jquery DataTables . Da documentação deles:

Se a classificação estiver ativada, o DataTables executará uma classificação de primeira passagem na inicialização. Você pode definir em quais colunas a classificação é executada e a direção da classificação com essa variável. A matriz aaSorting deve conter uma matriz para cada coluna a ser classificada inicialmente contendo o índice da coluna e uma sequência de direção ('asc' ou 'desc').

É possível ter a classificação ativada, mas desativar essa classificação de primeira passagem na inicialização? Atualmente, estou fazendo o lado do servidor de classificação inicial e preciso da funcionalidade de classificação, mas não preciso dessa funcionalidade de classificação inicial.

beijar
fonte

Respostas:

566

Bem, eu encontrei a resposta definida "aaSorting" para uma matriz vazia:

$(document).ready( function() {
    $('#example').dataTable({
        /* Disable initial sort */
        "aaSorting": []
    });
})

Para versões mais recentes do Datatables (> = 1.10), use a opção de pedido :

$(document).ready( function() {
    $('#example').dataTable({
        /* No ordering applied by DataTables during initialisation */
        "order": []
    });
})
beijar
fonte
5
Esta resposta foi uma grande ajuda, mas vale a pena notar a potencial confusão causada. Se col 0 for pré-classificado asc e essa classificação inicial estiver desativada, quando um usuário clicar pela primeira vez no cabeçalho de col 0, ele será classificado em ordem ascendente. Para o usuário, parece que nada acontece, pois eles esperam uma ordem descendente. Um segundo clique classificará desc. Para contornar este problema você pode configurar asSorting: ['desc', 'asc']no aoColumnDefsmodo que o primeiro clique é uma espécie desc.
tomfumb
8
Para versões mais recentes, sua ordem: []
Darren
@tomfumb Na verdade, há uma GUI mostrando que ela não está classificada. O primeiro clique mostrará a Classificação sendo ativada, mesmo que os itens não sejam alterados. Isso é o suficiente para mim.
1113 Nelson
2
Você também pode configurá-lo no nível da tabela -><table data-order="[]">
Howdy_McGee
Esta solução não funciona para mim, mas <table data-order="[]">funciona para mim.
Alper
101

Conforme os últimos documentos da API:

$(document).ready(function() {
    $('#example').dataTable({
        "order": []
    });
});

Mais informações

Ravi Kadaboina
fonte
25

Tente o seguinte:

$(document).ready( function () {
  $('#example').dataTable({
    "order": []
  });
});

Isto irá resolver o seu problema.

FennRussel
fonte
1

Nas opções de dados, coloque isto:

$(document).ready( function() {
  $('#example').dataTable({
    "aaSorting": [[ 2, 'asc' ]], 
    //More options ...

   });
})

Aqui está a solução: "aaSorting": [[2, 'asc']],

2A tabela de meios será classificada por terceira coluna,
ascem ordem crescente.

luchopintado
fonte
12
A questão era como "desativar a classificação inicial", não como especificar outra ordem de classificação. Esta resposta é mais adequada para uma pergunta diferente.
Gone Coding