Сгруппировать строки при применении order и выполняя поиск в rowsGroup dataTable jquery js
есть таблица (на самом деле она побольше, оставила смысловую часть)
<table id="table_obekt">
<thead>
<tr>
<th class="centertext" rowspan="2">Колонка 1</th>
<th class="centertext" colspan="2">Объединяющее название</th>
<th class="centertext" rowspan="2">Колонка 4</th>
</tr>
<tr>
<th class="centertext">Колонка 2</th>
<th class="centertext">Колонка 3</th>
</tr>
</thead>
<tbody>
{% for data in dataDjango %}
{% with rowspan=data.child_data.count %}
<tr>
<td rowspan={{rowspan|default:1}} style="display: table-cell">{{data.colonka1}}</td>
{% for child_data_one in data.child_data %}
{% if forloop.first %}
<td>{{child_data_one.colonka2}}</td>
<td>{{child_data_one.colonka3}}</td>
<td rowspan={{rowspan|default:1}} style="display: table-cell">{{data.colonka4}}</td>
</tr>
{% else %}
<tr>
<td style="display: none">{{data.colonka1}}</td>
<td>{{child_data_one.colonka2}}</td>
<td>{{child_data_one.colonka3}}</td>
<td style="display: none">{{data.colonka4}}</td>
</tr>
{% endif %}
{% endfor %}
{% endwith %}
{% endfor %}
</tbody>
</table>
<script>
var oTable = $('#table_obekt').dataTable({
rowsGroup: [0,3],
paging: false,
bLengthChange: false, // не отображаем выбор количества отображаемых элементов
order: [[ 0, 'asc' ]], // сортируем по первому столбцу
info: false,
});
</script>
Таблица при загрузке отображается правильно, есть иконки для сортировки asc decs. Сортировка, где в заглавие таблицы применяется rowspan, проходит правильно, но где название колонок находится под colspan, там разрывает изначальную группировку строк таблицы. Таблица ломается child_data_one.colonka2 становится первой колонкой, child_data_one.colonka3 второй колонкой, так как остальное было скрыто. При поиске также разрывает и остаётся такая же часть.
- jQuery v2.1.4
- DataTables v1.10.12
- datatables-rowsgroup https://github.com/ashl1/datatables-rowsgroup
Как правильно сделать так, чтобы группу строк не разрывало при сортировки по второй или третьей колонке, и чтобы не пропадала вся группа при поиске?