无法在Jqgrid页脚中添加列名以计算总和

时间:2018-12-01 10:12:29

标签: javascript jquery html jqgrid

我在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作为变量传递有什么问题?

1 个答案:

答案 0 :(得分:1)

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中获得。