我在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
作为变量传递有什么问题?
答案 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
中获得。