В моем проекте laravel я использую плагин рук на столе на основе jquery.Это очень быстро реализовано в моем проекте.Я создал 5 столбцов в горячей таблице, а также добавил функцию поиска по конкретным столбцам.Все работает хорошо, даже я выполняю вычисления на afterChange
, чтобы вычислить общую сумму путем умножения price
на unit
.Расчеты работают нормально, если я не использую фильтр данных.
Вот снимок экрана:
Умножение единиц и общая сумма работают нормально, но когда я отфильтровал записи, а затем обновилединица, он не вычисляет сумму.
Использование логики для расчета:
afterChange: function(change,source){
console.log(change);
if(source === 'loadData'){
return;
}
var hotInstance = $("#hot-table").handsontable('getInstance');
if(change[0][1] == 'unit' && change[0][3] != ''){
let data = hotInstance.getSourceData();
let calculatedData = data[change[0][0]];
calculatedData['total'] = calculatedData['price'] * parseInt(change[0][3]);
data[change[0][0]] = calculatedData;
hotInstance.loadData(data);
}
$('.chargesList').val(JSON.stringify(hotInstance.getSourceData()));
},
Мои данные выборки:
Теперь, когда я фильтрую данные, плагин фильтра просто сбрасывает индексацию строки заголовка, но я обновлял данные от имени индекса строки заголовка, поэтому я думаю, что именно поэтомуне определяет, какой индекс строки они должны обновить.
Может кто-нибудь сказать мне, как я могу это сделать?