2011-12-28 41 views
40

Ecco il codice che sto usandoDisattivazione di smistamento in DataTable non funzionante

oTable = $('#example').dataTable({ 
       "bSort": false, 
       "bStateSave":true, 
       "aoColumns": [ 
        { "bSortable": false }, 
        { "bSortable": false }, 
        { "bSortable": false } ] 
      }); 

Il problema che sto avendo è che la tabella inizia in bianco e la sua popolata da input dell'utente. Una volta che l'utente inizia a inserire elementi nella tabella, li ordina in base all'ID prodotto. Sto cercando di rimuovere questo ordinamento in modo che li elenchi appena vengono immessi.

EDIT: Sono giunto alla conclusione che NONE le mie impostazioni di inizializzazione funzionano. Credo che abbia a che fare con fnAddRow quando la tabella è vuota tranne per le intestazioni.

EDIT2: l'ho isolato fino a fnAddData. Quando ho inizializzare la tabella con i dati di tutto spazzatura è formattato come dovrebbe essere, ma poi una volta uso il fnAddData, rimuove tutto formattazione

+0

si potrebbe anche voler guardare https: // cbabhusal .wordpress.com/2015/05/20/jquery-datatables-turn-off-sorting-of-a-particular-column/ – illusionist

risposta

96

Prova questo:

$(document).ready(function() {$('#example').dataTable({ 
    "bSort": false 
    }); 
} 
+0

Grazie! @Alborz. Aiuta a prevenire l'ordinamento su ogni colonna di dataTable. –

+0

Signore, sei il mio eroe –

0

ordinamento predefinito può essere impostato Assorting parametro. Si prega di vedere:

http://datatables.net/usage/columns

+0

Non voglio avere l'ordinamento se – aport002

+0

aggiungi un campo nascosto con timestamp. Imposta l'ordinamento predefinito in questo momento. Gli articoli verranno visualizzati nello stesso ordine in cui sono stati aggiunti. –

+0

Ho fatto questo tranne con i numeri di indice. Il problema è che nessuno dei parametri iniziali viene mantenuto dopo l'esecuzione di fnAddData. Credo che da qualche parte nel codice fnAddData, il campo oSettings viene cancellato. – aport002

23

provare questo:

questo è quello di disabilitare ordinamento iniziale

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

Questa dovrebbe essere l'impostazione predefinita sulle tabelle di dati. Grazie per questo. – Onimusha

+1

Grazie. La ricerca mi ha portato qui e la risposta ha disabilitato tutti gli ordinamenti, l'iniziale è ciò che cercavo. Mi ha salvato un po 'di tempo per averlo qui. –

2

bSort (http://datatables.net/ref#bSort) è il modo corretto per disattivare l'ordinamento in DataTable. Forse puoi collegare al tuo esempio che mostra l'ordinamento ancora abilitato con questo set di parametri, per favore?

+0

Non riesco a collegare effettivamente la pagina a causa di un accesso richiesto per popolare il menu a discesa da un database.Sospetto che abbia a che fare con una tabella vuota e poi l'aggiunta di righe. Ho provato ogni metodo che ho visto sul sito datatables.net e nulla sembra funzionare. L'ordinamento appare sempre – aport002

0

provare questo,

data set-ordinabile = "false" nel tag di intestazione della tabella

<table id="orders"> 
    <thead> 
    <tr> 
     <th data-orderable="false">ID</th> 
     <th>Customer Name</th> 
     <th data-orderable="false">Total</th> 
     <th>Date</th> 
     <th data-orderable="false">Action</th> 
    </tr> 
    </thead> 
</table> 
Problemi correlati