Я пытаюсь создать таблицу, в которой я могу группировать строки по данным. Я добился этого, но у меня есть небольшая проблема:
Предположим, я показываю 10 строк на странице. Если строки с 8 по 12 принадлежат к одной и той же группе, появится группа с 8 по 10, а с другой - с 11 до 12.
Как я могу сделать так, чтобы строки на следующей странице, содержащиеся в группе на предыдущей странице, не были сгруппированы в другую группу?
$(".salesTable").DataTable({
"ajax": "ajax/salesTable.ajax.php",
"deferRender": true,
"retrieve": true,
"processing": true,
//"displayLength": 100,
drawCallback: function ( settings ) {
var api = this.api();
var rows = api.rows( {page:'current'} ).nodes();
var last=null;
var groupadmin = [];
api.column(3, {page:'current'} ).data().each( function ( group, i ) {
if ( last !== group ) {
$(rows).eq(i).before(
'<tr class="group" id="'+i+'"><td colspan="12"><i class="fas fa-eye"></i>   <strong>Show buy of '+group+'</strong></td></tr>'
);
groupadmin.push(i);
last = group;
}
} );
for( var k=0; k < groupadmin.length; k++){
//Code added for adding class to sibling elements as "group_<id>"
$("#"+groupadmin[k]).nextUntil("#"+groupadmin[k+1]).addClass('group_'+groupadmin[k]);
$("#"+groupadmin[k]).nextUntil("#"+groupadmin[k+1]).addClass('hiddenRow');
//Code added for adding Toggle functionality for each group
$("#"+groupadmin[k]).click(function(){
var gid = $(this).attr("id");
$(".group_"+gid).slideToggle(300);
});
}
}
});