这是我在这个论坛上的第一篇文章,所以请耐心等待。
我需要设置摘要以显示网格中所有行的总和,甚至是其他页面内的行 - 值的绝对总和。
我正在寻找它,我看到很多人都有这个问题,所以我不认为这是我的代码的问题。听起来更像是分组机制本身的设计,不然我不知道。
但是,要明确的是,我认为我需要调用服务器端以从那里获取总和,这可能吗?如果是这样,我应该如何用json来做呢?
我正在考虑使用格式化程序选项,但随后它是逐行触发的,我不认为这是这个想法,因为总和将在第一次调用中完整。
有什么建议吗?
谢谢!!!
您可以定义自定义
summaryType
函数来显示总和。根据 summaryType
的文档:
选项可以定义为函数。如果已定义,我们将向其传递三个参数 - 当前值、名称和记录对象。该函数应该返回值。请注意,该值将再次用于组值,直到它发生更改。
例如,您可以在页面加载时检索
totalSumRecord
- 直接从格式化程序进行 AJAX 调用是一个坏主意 - 然后在格式化程序中显示适当的值:
function myCustomSummary(val, name, record) {
return totalSumRecord[name];
}
jQuery("#grid").jqGrid({
...
colModel : [
{..},
{name:'myColumn',
index:'myColumn',
width:80,
align:"right",
sorttype:'number',
formatter:'number',
summaryType:myCustomSummary},
...
],
...
});
jqGrid 4.4 中有一个错误,不允许函数作为摘要类型。如果这对您有影响,这里就是解决方法。