2015-08-03 3 views
4

Я действительно действительно новым для DataTable, и мне просто нужно одно простое решение:Как просто сортировать по последней колонке DataTable

var initBasicTable = function() { 

    var table = $('#basicTable'); 

    var settings = { 
     "sDom": "t", 
     "sPaginationType": "bootstrap", 
     "destroy": true, 
     "paging": false, 
     "scrollCollapse": true, 
     "order": [[0,'desc']] 
    }; 

    table.dataTable(settings); 
    $('#basicTable input[type=checkbox]').click(function() { 
     if ($(this).is(':checked')) { 
      $(this).closest('tr').addClass('selected'); 
     } else { 
      $(this).closest('tr').removeClass('selected'); 
     } 

    }); 

} 

Это работает, для сортировки первый столбец по умолчанию.

Но я читал, что изменение 0 в "order": [[0,'desc']] на отрицательное число начнет сортировку из столбцов справа. Однако это:

var settings = { 
     "sDom": "t", 
     "sPaginationType": "bootstrap", 
     "destroy": true, 
     "paging": false, 
     "scrollCollapse": true, 
     "order": [[-1,'desc']] 
}; 

Выдает сообщение об ошибке, и я понятия не имею, где продолжить.

Я знаю DataTable действительно мощный и что, но, this is no what I was looking for but plenty already

Ничего для 'Сортировать по последнему (-1) столбца'? Я чувствовал себя потерянным. кто угодно?

+0

Можете ли вы указать последний индекс столбцов? То есть если у вас 5 столбцов, то это будет 4 – FuzzyTree

+0

У меня, должно быть, есть идея, прочитав [aoColumnDefs] (http://legacy.datatables.net/usage/columns), я думал, что [-1] будет работать, так как это приемлемо «aTarget». Я бы хотел, чтобы он всегда сортировал «последний столбец» независимо от того, на какой таблице. –

ответ

0

Просто используйте функцию перерисовать из DataTables:

table.order([0, 'desc']).draw(); 

не использовать отрицательные значения для индекса столбца. просто используйте положительные. Здесь в the api нет упоминания об отрицательных индексах столбцов для упорядочиваемого столбца.

Если вы не можете следовать за мной прямо сейчас, читайте: «https://datatables.net/reference/api/order%28%29»

+0

У меня есть идея отрицательных значений из [здесь] (http://legacy.datatables.net/usage/columns) 'отрицательное целое число - индекс индекса столбца справа. Я знаю, что это не указано в документе, но почему бы и нет? Если «aTarget» принимает отрицательное число, обычно я думаю, что «порядок» должен быть таким же, не так ли? В противном случае, если я применяю скрипт на каждой странице, где таблицы отображаются с разными столбцами, я не могу использовать один скрипт для сортировки по последнему столбцу. –

+0

хорошо, тогда ... какую версию dataTables.net вы используете в своем проекте? – Unlockedluca

+0

Я использую v1.10.7 –

4

Оказалось, не так уж трудно, с небольшим количеством работы вокруг:

var table = $('#basicTable'); 
    var index = $(table).find('th:last').index(); 
    var settings = { 
     "sDom": "t", 
     "sPaginationType": "bootstrap", 
     "destroy": true, 
     "paging": false, 
     "scrollCollapse": true, 
     "order": [ 
      [index, "desc"] 
     ] 
    }; 

Это получит индекс последний «столбец» и сначала отсортировать его. Спасибо за помощь, ребята!