Расчетное значение jqGrid setCell

Мне нужно разработать сетку с использованием jqGrid и PHP, что имеет 4 столбца: Продукт , количество , цена и количество . Имя продукта извлекается из базы данных. Если пользователь редактирует столбцы «Количество и цена», ячейка количества должна быть автоматически изменена путем умножения столбцов « Количество и цена» . Я пробовал:

var grid = $("#reportTable"); ........ afterSaveCell: function (rowid, name, val, iRow, iCol) { grid.jqGrid("setCell", rowid, "amount", val, ""); calculateTotal(); } 

Обратите внимание, что calculateTotal () может правильно рассчитать итоговое количество столбца Quantity без какой-либо ошибки и отлично показать на нижнем колонтитуле сетки.

Я предполагаю, что вы используете редактирование ячейки . В случае, когда обратный вызов afterSaveCell является действительно хорошим местом для обновления расчетной amount столбца на основе текущих значений из quantity и price колонок. Соответствующий код может быть примерно следующего

 afterSaveCell: function (rowid, cellname, value) { var quantity, price, $this; if (cellname === 'quantity' || cellname === 'price') { $this = $(this); quantity = parseFloat($this.jqGrid("getCell", rowid, 'quantity')); price = parseFloat($this.jqGrid("getCell", rowid, 'price')); $this.jqGrid("setCell", rowid, 'amount', quantity * price); } } 

Демонстрация делает почти то же самое, но вычисляет «total» как сумму «суммы» и «налога». Для теста вы должны изменить значение из столбца «сумма» или «налог» и убедиться, что «total» будет пересчитан.