Подтвердить что ты не робот

Установка столбца сортировки по умолчанию в Datatable

Я работаю над datatable plugin в JQuery. И нужно установить столбец по умолчанию, по которому сортируются данные, поэтому я имею в виду, что:

У меня есть таблица с 4 столбцами, и по умолчанию данные сортируются по столбцу № 1, я хочу, чтобы данные сортировались по столбцу номер 2 или 3.

Как это можно сделать:

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

Я указал, что в "aaSorting", но не получая результат.

Просветите свет?

4b9b3361

Ответ 1

Пример в datatable api делает следующее:

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

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

Ответ 2

Я знаю, что у вас есть ответ сейчас, но вот еще более простой путь от API DatatTable

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

Обратите внимание, что индекс от 0 'Zero', поэтому пример означает, что столбец 2 и 3 являются столбцом сортировки по умолчанию и его нисходящим (используйте asc для восходящего).

Ответ 3

Я знаю, что вы получили ответ, но только для записи

Вы также можете отсортировать его со стороны сервера с помощью параметра

params.iSortCol_0

это в основном целое число 0,1,2.. означает первый, второй, третий.. столбец. поэтому вы можете написать переключатель перед извлечением данных.

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

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

  }

и включить это по порядку по вашему запросу

 order by ${sortOn}

Надеюсь, это поможет