添加一个jqgrid列,该列是另外两列的结果

我想总结一个jqGrid表的列值。我的jqGrid中有四列"SL", "Item", "Quantity", "Rate","Amount" ,其中AmountQuantity*Rate的结果不是查询检索数据。它是在javascript代码内完成的。现在我要总结金额列。正确显示。我已经检查了它的警报,但当我尝试在页脚行$grid.jqGrid('footerData', 'set', { 'amountcalculate': parseFloat(colSum)});上设置它$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版本和jqGrid的分支 ( 免费jqGrid ,商业Guriddo jqGrid JS或版本<= 4.7中的旧jqGrid)的信息。 解决方案可能取决于信息。

我想你的问题的根源是使用自定义格式化程序而没有指定相应的非格式化函数。 请参阅文档 。

通常,最好将自定义格式化程序替换为jsonmap函数,该函数根据其他属性的值返回计算值。 例如,它允许将jsonmap函数与另一个格式化程序结合使用,例如使用formatter: "currency"formatter: "integer"等等。