2011-02-11 22 views
148

Estoy usando el complemento jquery DataTables. De su documentación:¿Hay alguna manera de desactivar la clasificación inicial para jQuery DataTables?

Si la clasificación está habilitada, DataTables realizará una inicialización del primer paso en la inicialización. Puede definir en qué columna (s) se realiza el ordenamiento y la dirección de clasificación con esta variable. La matriz aaSorting debe contener una matriz para cada columna que se ordenará inicialmente que contenga el índice de la columna y una cadena de dirección ('asc' o 'desc').

¿Es posible tener habilitada la ordenación pero deshabilitar esta ordenación de primer paso en la inicialización? Actualmente estoy haciendo el lado del servidor de clasificación inicial y necesito la funcionalidad de clasificación, pero no necesito esta funcionalidad de clasificación inicial.

+0

Ha escrito incorrectamente DataTables con 'datables', así que estaba confundido al mirar esto al principio – konyak

+0

@ChaseT. Muchas gracias por contarnos esto: P –

Respuesta

401

Bueno he encontrado el answer conjunto "aaSorting" a una matriz vacía:

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

nuevas versiones de las tablas de datos (> = 1.10) utiliza order opción:

$(document).ready(function() { 
    $('#example').dataTable({ 
     /* No ordering applied by DataTables during initialisation */ 
     "order": [] 
    }); 
}) 
+43

¡No tienes idea de lo feliz que estoy de ver esta respuesta! Solo desearía poder recuperar las últimas horas de mi vida x/ – Jon

+2

Gracias, me ahorraste un montón de tiempo. – AntonK

+4

Esta respuesta fue de gran ayuda, pero vale la pena señalar la posible confusión causada. Si col 0 está ordenada previamente asc y esta clasificación inicial está deshabilitada, cuando un usuario hace clic por primera vez en el encabezado col 0 ordenará en orden asc. Para el usuario, parece que no pasa nada, ya que esperarán una orden de descifrado. Un segundo clic clasificará desc. Para evitar esto, puede establecer 'asSorting: ['desc', 'asc']' en 'aoColumnDefs' para que el primer clic sea una clasificación desc. – tomfumb

4

En opciones DataTable puesto esto:

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

    }); 
}) 

Aquí está la solución: "aaSorting": [[2 'asc']],

2 significa tabla será ordenadas según la tercera columna,
asc en orden ascendente.

+7

La pregunta era cómo "desactivar la clasificación inicial", no cómo especificar otro orden de clasificación. Esta respuesta se adapta mejor a una pregunta diferente. –

78

Según las últimas API Docs:

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

More Info

+13

+1 Última API ... –

+0

Buena respuesta .... –

2

Prueba esto:

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

esto va a resolver su problema.

+4

Se desactiva permanentemente. – Clayton

Cuestiones relacionadas