在jqgrid上使用footerdata获取总和

时间:2013-04-22 08:53:44

标签: javascript jqgrid footer

我的列名为Total。
我也在使用页脚 jqgrid的值。

示例这是列

总计
100
-98
-76
98个
76个

如何获得行的总和
使用页脚数据。

这是我的代码。
注意:如果我使用'sum',它会给我'NaN' 值。

var parseTotal= grid.jqGrid('getCol', 'Total', false, 'sum');
grid.jqGrid('footerData', 'set', { Total: parseTotal});

3 个答案:

答案 0 :(得分:8)

您应该发布更多可以重现问题的完整代码。我尝试了一些选项:输入数据为字符串,数据为整数,使用formatter: "integer",不使用格式化程序等。

我没有发现没有产生描述结果的列定义的输入数据。看the demo

enter image description here

可以与您的非工作演示进行比较。我希望你能在代码中找到错误。

答案 1 :(得分:1)

我假设您将上面的代码放在gridComplete函数中,如下所示:

 gridComplete: function(){
            var parseTotal=  $(this).jqGrid('getCol', 'Total', false, 'sum');
             $(this).jqGrid('footerData', 'set', { Total: parseTotal});
          }

现在,当列中的一个单元格包含空值(空格)时,会发生返回NaN的问题。因此,要将空格转换为值0,请在列number的colmodel中使用total格式化程序:

即;

colModel:[
  ...............
    {name:"Total",index:"Total", formatter: 'number'},
   ......
],

还要确保列索引拼写正确。

答案 2 :(得分:0)

无论如何都不是jqGrid专家,但是'getCol'方法中引用的列不应该是要求总和的列 - 'amount' - 而不是要将总和放入其中的列 - '总计'? Nan来自于尝试对尚未定义的列进行求和。