¿Hay alguna manera de deshabilitar la ordenación inicial de jquery DataTables?


231

Estoy usando el complemento jquery DataTables . De su documentación:

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

¿Es posible tener la clasificación habilitada pero deshabilitar esta clasificació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.

Respuestas:


566

Bueno, encontré el conjunto de respuestas "aaSorting" en una matriz vacía:

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

Para las versiones más nuevas de Datatables (> = 1.10) use la opción de pedido :

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

55
Esta respuesta fue de gran ayuda, pero vale la pena señalar la posible confusión causada. Si col 0 está previamente ordenado asc y esta ordenación inicial está deshabilitada, entonces, cuando un usuario hace clic por primera vez en el encabezado de col 0, se ordenará en orden asc. Para el usuario, esto parece que no pasa nada, ya que esperarán un orden desc. Un segundo clic ordenará desc. Para evitar esto se puede establecer asSorting: ['desc', 'asc']en la aoColumnDefsmanera que la primera posición es una especie desc.
Tomfumb

8
Para versiones más nuevas, su orden: []
Darren

@tomfumb En realidad, hay una GUI que muestra que no está ordenada. El primer clic mostrará que la Clasificación se está activando, aunque los elementos no cambien. Eso es suficiente para mi.
Nelson

2
También puede configurarlo a nivel de tabla -><table data-order="[]">
Howdy_McGee

Esta solución no funcionará para mí, pero <table data-order="[]">funciona para mí.
Alper


25

Prueba esto:

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

Esto resolverá su problema.


1

En las opciones de la tabla de datos, ponga esto:

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

   });
})

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

2significa que la tabla se ordenará por tercera columna,
ascen orden ascendente.


12
La pregunta era cómo "deshabilitar la ordenación inicial", no cómo especificar otro orden de clasificación. Esta respuesta se adapta mejor a una pregunta diferente.
Gone Coding
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.