добавление столбца jqgrid, который является результатом двух других столбцов

Я хочу суммировать значения столбца таблицы jqGrid. У меня есть четыре столбца в моих jqGrid "SL", "Item", "Quantity", "Rate","Amount" , где Amount – результат Quantity*Rate это умножение это не запрос, полученный данными. Это делается внутри javascript-кода. Теперь я хочу суммировать столбец количества. Существующее отображается правильно. Я проверил его с предупреждением, но когда я попытался установить его на нижнюю строку $grid.jqGrid('footerData', 'set', { 'amountcalculate': parseFloat(colSum)}); он показывает NAN Почему это не работает. Я использовал нижний колонтитул раньше и делал суммирование. Он работал отлично. Когда я попытался добавить значение столбца, которое является результатом двух других столбцов, тогда это не сработает. Вот мой код

  subGrid : true, subGridRowExpanded: function (subgridId, rowid) { var subgridTableId = subgridId + "_t"; $("#" + subgridId).html("
"); $("#" + subgridTableId).jqGrid({ datatype: "json", url: "/bbbb/regfgfgfisterFgshGood /listReceivableOrderDetails?id=" + rowid, colNames: ["SL", "Item", "Quantity", "Rate","Amount"], colModel: [ {name: "sl", width: 40, align: 'center'}, {name: "item", width: 230, align: 'left'}, {name: "quantity", width: 100, align: 'center'}, {name: "amount", width: 100, align: 'right'}, { name: "amountcalculate", width: 60, formatter: function (cellvalue, options, rowObject) { var rq = parseFloat(rowObject[2] ); var up = parseFloat(rowObject[3] ); return parseFloat(rq * up).toFixed(2); } } ], height: "100%", rowNum: -1, sortname: "name", footerrow : true, idPrefix: "s_" + rowid + "_" }); debugger var $grid = $("#" + subgridTableId); var colSum = $grid.jqGrid('getCol', 'amountcalculate', false, 'sum'); alert(colSum); $grid.jqGrid('footerData', 'set', { 'amountcalculate': parseFloat(colSum)}); },

Пожалуйста, включите во все ваши вопросы информацию о версии jqGrid, которую вы используете (можете использовать), и fork jqGrid ( бесплатный jqGrid , коммерческий Guriddo jqGrid JS или старый jqGrid в версии <= 4.7). Решение может зависеть от информации.

Я полагаю, что источником вашей проблемы является использование пользовательского форматирования без указания соответствующей функции unformatter. См. Документацию .

В общем, лучше заменить пользовательский форматтер на функцию jsonmap , которая возвращает вычисленное значение, основанное на значении буксировки других свойств. Это позволяет, например, комбинировать функцию jsonmap с другим форматированием, например, с formatter: "currency" , formatter: "integer" и т. Д.