2016-11-02 6 views
1

У меня вопрос о том, как исключить строку (tr) из сортировки. Я хочу сделать что-то вроде этого http://jsfiddle.net/rishijagati/WwDg8/213/, но я не хочу устанавливать данные скрытой строки в jQuery. Я полагаю, что вы можете сделать это, добавив класс в элемент <tr>, и после этого удастся не отсортировать этот <tr> при инициализации datatable на jQuery. На самом деле у меня есть инициализация так:Исключить строку из сортировки - Datatables.net

$('.ordered_table').dataTable({ 
     "sPaginationType": "full_numbers", 
     "dom": '<"toolbar">frtip', 
     "pagingType": "numbers", 
     "searching": false, 
     "pageLength": 20, 
     columnDefs: [{ 
      targets: ['datatable-nosort'], 
      orderable: false, 
      bsortable: false 
     }], 
     "aaSorting": [] 
}); 

Класс datatable-nosort для не сортировать по столбцам, это не для строк.

Теперь отображается всегда это сообщение, но я сделал эффект аккордеона, но сортировка не работает.

Uncaught TypeError: Cannot set property '_DT_CellIndex' of undefined

Моя таблица выглядит так:

<tr class="tr_tbody accordion"> 
    <td><%= order.id %></td> 
    <td><%= order.created_at.strftime("%d/%m/%Y") %></td> 
    <td><%= order.exhibitor_corporate_name %></td> 
    <td><%= order.candidate_first_name %> <%= order.candidate_last_name %></td> 
    <td><%= !order.engagements.first.nil? ? order.engagements.first.date.strftime("%d/%m/%Y") : '' %></td> 
    <td><%= !order.engagements.last.nil? ? order.engagements.last.date.strftime("%d/%m/%Y") : '' %></td> 
    <% 
    number = @total_hours 
    parts = number.to_s.split(".") 
    result = parts.count > 1 ? parts[1].to_s : 0 
    result = '0' + '.' + result.to_s 
    hours = parts.count > 1 ? parts[0].to_s : 0 
    %> 
    <td class="datatable-nosort"> 
     <%= hours.to_s %> 
     <%= 'h. ' %> 
     <%= (result.to_f*60).to_i %> 
     <%= 'm.' %> 
    </td> 
    <td><%= @price_ngage %>€</td> 
    <td></td> 
</tr> 
<tr > 
    <td colspan="9"> 
    Order details 
    </td> 
</tr> 

ответ

1

Из документации columnDefs.targets опции:

... class name will be matched on the TH for the column (without a leading .)

Таким образом, вы должны применить класс datatable-nosort к TH элемента в заголовке.

Другая ошибка возникает, скорее всего, потому, что DataTables не поддерживает colspan или rowspan в корпусе таблицы. Чтобы показать дополнительные сведения, используйте вместо этого child row functionality.

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