我在Jqgrid中有以下代码,该代码在网格的页脚中正确显示Sum

 var colSum = $("#dataGrid").jqGrid('getCol', 'Amount', false, 'sum');
 $("#dataGrid").jqGrid('footerData', 'set', { Id: "Total:", Amount: colSum });


现在,当我尝试如下动态传递ColumnName时

 var colName = arrColAndMet[0];
 var colSum = $("#dataGrid").jqGrid('getCol', colName, false, metrics);
 $("#dataGrid").jqGrid('footerData', 'set', { Id: "Total:", colName: colSum });


我无法为Sum列显示Amount,但是colSum正在正确计算。

ColName传递为变量有什么问题?

最佳答案

footerData方法的最后一个参数是object,其属性名称应为"Id"colName变量的值。而不是对象文字

{ Id: "Total:", colName: colSum }


表示具有属性"Id""colName"的对象。

另一方面,可以通过将原始代码修改为以下内容来轻松解决问题:

var colName = arrColAndMet[0];
var colSum = $("#dataGrid").jqGrid('getCol', colName, false, metrics);
var footerData = { Id: "Total:" };
footerData[colName] = colSum;
$("#dataGrid").jqGrid('footerData', 'set', footerData);


其中使用footerData[colName]设置属性的名称将从变量colName获得。

关于javascript - 无法在Jqgrid页脚中添加列名以计算总和,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53569756/

10-12 13:52