2012-10-14 17 views
13

Sto lavorando su un plug-in datatable in Jquery. E devo impostare la colonna di default con cui i dati sono ordinati, quindi voglio dire che:Impostazione della colonna ordinata predefinita in Datatable

Ho una tabella con 4 colonne e per impostazione predefinita i dati sono ordinati per colonna n. 1, voglio che i dati vengano ordinati per colonna del numero 2 o 3.

Come che può essere fatto:

$('#tblMainTable').dataTable({ 
    "bJQueryUI" : true, 
    "sDom" : 'R<"H"lfr>t<"F"ip<', 
    "aoColumns" : [ 
     {"bSortable" : false}, 
     null, 
     null, 
     null, 
     {"bSortable" : false}, 
     {"bSortable" : false} 
    ], 
    "aaSorting": [[ 2, "desc" ]] 
}); 

ho specificato che in "aaSorting", ma non ottenere il risultato.

Per favore fate un po 'di luce?

+2

http://live.datatables.net/amipoq/8/edit funziona almeno, sembra un problema altrove –

risposta

25

L'esempio nella datatable api lo fa in questo modo:

$(document).ready(function() { 
    var oTable = $('#example').dataTable(); 

    // Sort immediately with columns 0 and 1 
    oTable.fnSort([ [0,'asc'], [1,'asc'] ]); 
}); 
+0

Voglio ordinare la tabella su 2 colonne non su 0 o 1 –

2

So che lei ha la risposta, ma solo per il record

È inoltre possibile ordinare dal lato server utilizzando il parametro

params.iSortCol_0 

è fondamentalmente un numero intero 0,1,2 .. significa prima, seconda, terza .. colonna. in modo da poter scrivere un interruttore prima andare a prendere i dati ..

String sortOn = 'firstcolumnname'; //default 
switch(params.iSortCol_0 as int) { 

    case 0: 
    sortOn = 'id'; 
    break; 
    ...... 

    } 

per inserire questa in ordine di della query

order by ${sortOn} 

Spero che questo vi aiuterà

7

So che avete la risposta ora , ma ecco un modo ancora più semplice dall'API DatatTable

$('#tblMainTable').dataTable({ 
    "order": [[1, "desc"], [2, "desc"]] 
}); 

Si noti che l'indice è da 0 'Zero' quindi l'esempio significa "La colonna 2 e 3 è la colonna di ordinamento predefinita e la sua Discendente (usa asc per Ascending)."

+0

oTable.fnSort() stava dando un errore. Ma la tua soluzione funziona. Grazie! –

Problemi correlati