2015-10-28 40 views

回答

1

这是我看到的主要问题:你需要在不同层次网格的使用不同summaryType"sum""avg")。没有简单的方法来实现这一点。我认为这是可能的,但代码并不简单。代码可以取决于jqGrid的版本,您可以使用该版本并从分支中获得(free jqGrid,Guriddo jqGrid JS,某些旧版本的< = 4.7)。

要将结果放在标题中很容易,只需在groupingView中添加groupSummaryPos: ["header", "header"]属性即可。您应该在Freight列中设置summaryType: "sum"summaryType: "avg"

UPDATE:我在免费jqGrid中实现了新功能。现在可以使用summaryTypesummaryTpl定义为数组。 The demo共有列定义为

{ name: "total", width: 75, template: "number", 
    summaryTpl: [ 
     "<span style='color: red'>Avg: {0}</span>", 
     "<span style='color: DarkRed'>Sum: {0}</span>" 
    ], 
    summaryType: ["avg", "sum"] }, 

演示的结果看起来像图片:

enter image description here

我有一句话,说变化不包括在免费的jqGrid 4.10.0 ,我今天发布,所以你必须使用GitHub的源代码才能使用该功能。

+0

我同意你的分析。你有什么关于如何解决不同summaryType难度的指针? –

+0

@pacw:我在我开发的fork中扩展了jqGrid的代码:在[free jqGrid](https://github.com/free-jqgrid/jqGrid)中。现在可以很容易地实现这些要求。请参阅** UPDATED **部分我的答案。 – Oleg

+0

不错! 我看到平均值是在“最低”级别上的行上计算的,而不是在“中间”层级上的行的总和上计算的,例如。测试1的平均值不是0.00和20.00行的总和的平均值,而是所有test1行的平均值。 我该如何计算0.00和20.00行的平均值? –