JavaScript — сортировка данных HandsonTable путем загрузки из ajax

Я пытаюсь использовать плагин Handsontable и хочу отсортировать данные в таблице с помощью ajax.

Когда я использую columnSorting: true, там только сортировка по представлению, и я обновляю это идет неправильно указатель строки.

У кого-нибудь есть идеи, как отсортировать данные из php, а затем показать результаты данных после сортировки в таблице?

$container.handsontable({
colHeaders: header(),//["Title", "Description", "Comments"],
data : data(),
//startRows: 3,
columnSorting: true,
startCols: 20,
rowHeaders: true,
colHeaders: true,
minSpareRows: 1,
contextMenu: true,
copyRowsLimit: 100000,
beforeChange: function (change, source) {
if (source === 'loadData') {
return; //don't save this change
}
if ($('input[name=autosave]').is(':checked')) {
$("#dataconsole").html("<p>Please wait ...</p>").hide().fadeIn("slow");
clearTimeout(autosaveNotification);
$.ajax({
url: "../php/save_auto.php?cmid=<?php echo $com_id;?>",
type: "POST",
data: {"changes": change}, //contains changed cells' data
success: function (data) {
$("#dataconsole").text('Autosaved (' + change.length + ' cell' + (change.length > 1 ? 's' : '') + ')');
if(source !== 'program'){
// reset current cell
$( "td:contains('=')").text(data);
}
}//complete
});
}//checked
}//change
});

0

Решение

Что вы можете сделать, это отключить плагин сортировки и, щелкнув по заголовку, отправить запрос в ваш бэкэнд с данными и параметром сортировки. Сделайте там любую сортировку, которую хотите, а затем верните новую data объект и updateSettings на ваше hotInstance вот так:

hotInstance.updateSettings({
data: newData
})

И с этим вы должны быть готовы к работе.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]