3

Я использую плагин DataTables jQuery для представления таблицы.Сделать столбцы несортируемыми в dataTables jQuery plugin

Первый столбец моей таблицы - счетчик строк, и я не хочу сортировать номера счетчиков в нем. Как я могу сделать эту колонку несортируемой?

enter image description here

$('#usersTable').dataTable({ 
     "sDom": "<'row'<'span6'<'#jTableHeader'l>><'span6'f>r>t<'row'<'span6'<'#jTableFooter'>><'span6'p>>", 

     "iDisplayLength": 10, 
     "aLengthMenu": [[10,25,50,-1],[10,25,50,"All"]], 

     "sPaginationType": "bootstrap", 
     "aaSorting": [[2, "asc"]], 
     "aoColumns": [ 
      {"bSortable": false}, 
      {"bSortable": false}, 
      {"sType": "string"}, 
      {"sType": "string"}, 
      {"sType": "string"}, 
      {"sType": "date"}, 
      {"bSortable": false} 
     ] 
    }); 

ответ

1

вы не можете. Столбец будет сортироваться в любом случае, если вы отсортируете один из других столбцов.

Однако, если вы просто хотите поддерживать # -order, независимо от содержимого/сортировки других столбцов, вы можете легко имитировать желаемое поведение. Например, я думаю, что вы действительно хочет всегда иметь #1, #2, #3 в первой колонке, независимо от того, что - право?

Рассмотрим этого кода, используя fnDrawCallback, чтобы обеспечить первый столбец всегда содержит число восходящих 1..n, ряд контратак:

var dataTable = $('#example').dataTable({ 
    aoColumns: [ 
     { "bSortable": false }, 
     null, 
     null, 
     null, 
     null 
    ], 
    fnDrawCallback : function(oSettings) { 
     $(this).find('tbody tr').each(function(index) { 
     $(this).find('td').first(0).text(index+1); 
     }); 
    } 
}); 

см работает скрипка ->http://jsfiddle.net/2bye2/

+0

Спасибо, но в моем случае права Решение: $ $ (this) .find ('td'). eq (1) .text (index + 1); ' –

Смежные вопросы