使用 jqgrid 上的 footerdata 获取总和

Posted

技术标签:

【中文标题】使用 jqgrid 上的 footerdata 获取总和【英文标题】:getting the sum using footerdata on jqgrid 【发布时间】:2013-04-15 02:41:12 【问题描述】:

我有一个列名 Total。 而且我也在使用页脚 jqgrid 的值。

例如这是列

总计 100 -98 -76 98 76

我怎样才能得到行的总和 使用页脚数据。

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

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

【问题讨论】:

【参考方案1】:

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

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

哪个有效,并与您的非工作演示进行比较。我希望你能在你的代码中找到错误。

【讨论】:

【参考方案2】:

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

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

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

即;

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

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

【讨论】:

【参考方案3】:

无论如何都不是 jqGrid 专家,但在“getCol”方法中引用的列不应该是您想要求和的列——“数量”——而不是你想要将总和放入的列 - '全部的'? Nan 来自于尝试对尚未定义的列求和。

【讨论】:

以上是关于使用 jqgrid 上的 footerdata 获取总和的主要内容,如果未能解决你的问题,请参考以下文章

jqgrid表格上的数据怎么获取

jqGrid - 同一页面上的多个网格仅显示一个寻呼机

保存字段日期选择器上的 JqGrid 错误

重新启用 JQGrid 上的寻呼机按钮

向 JQgrid 上的 editurl 发送附加参数

jqGrid 多选 - 仅使用复选框限制行的选择