将特定数据放在jqgrid摘要视图标题中

我有一个工作的jqgrid表,它在标题上有摘要视图,就像我在这个plunkr中实现的这个例子http://plnkr.co/edit/wjIlaVMsa9vusmfhgfL1?p=preview 。

摘要视图标题工作正常,显示的数据来自jqgrid中的(sum)函数。

但是,我不是让jqgrid自己计算摘要,而是想在摘要行中显示我自己的数据(仍然是每列,我不想要一个colspan摘要标题)。 最简单的例子是:假设我的列下的数据都是文本。 我仍然希望在摘要标题上每列都有分组和摘要视图标题和显示数据,但我不希望jqgrid为我计算摘要(因为它是文本)。 我想显示自己的摘要数据,这也来自我的数据json。

我不认为使用

summaryTpl: '{0}' 

因为我要显示的数据来自我的json数据,所以对我有用。

这可能吗? 如果我的解释不够明确,请告诉我。 谢谢!

您发布的演示使用jqGrid 4.6版本。 您没有那么多可能在这种情况下设置自定义汇总值。 您可以在需要放置自定义汇总值的列中使用自定义格式化程序。 我在旧答案中描述了这种方法。 这真的很棘手。

或者我可以建议你使用免费的jqGrid 4.8 (参见自述文件和维基 )。 free jqGrid支持定义为函数的summaryType 。 为了说明它是如何工作的,我为你创建了一些JSFiddle示例。 第一个包含您的原始演示。 第二个包含

 summaryType: function (v, cn, record) { var fieldData = parseInt(record[cn], 10); return v === "" ? fieldData : fieldData + v; } 

而不是summaryType: "sum" 。 摘要列中的结果将接近原始列,但我使用parseInt(record[cn], 10)而不是parseFloat(record[cn]) 。 所以我得到输入数字的整数部分,结果也是整数。

下一个演示包含静态变量

 var mySummary = { ALFKI: 12, ANATR: 23, AROUT: 34, BERGS: 45, BLAUS: 56 }; 

和看起来像的summaryType

 summaryType: function (v, cn, record) { return mySummary[record.CustomerID]; } 

在这种方式中,将根据mySummary地图显示每个组的摘要结果。 我提醒您,值将使用您在列中定义的相同格式化程序进行格式化。 因为您在Freight列中使用formatter: 'number' ,结果应该是数字或可以转换为数字的字符串。

最后一个演示使用修改后的JSON数据

 { "userdata": { "ALFKI": 12.34, "ANATR": 23.45, "AROUT": 34.56, "BERGS": 45.67, "BLAUS": 56.78 }, "rows":[ .... ] } 

我定义的summaryType这样的

 summaryType: function (v, cn, record) { var userData = $(this).jqGrid("getGridParam", "userData"); return userData[record.CustomerID]; } 

结果,分组摘要中显示的值来自服务器的userdata部分。 我想这就是你想要的。