0

strust 2 jquery 网格插件不支持summaryType列,作为一种解决方法,我尝试将其设置为:

$("#gridtable").jqGrid('setColProp', 'amount',{summaryType:'sum'}); 

这在第一次不起作用。但是在重新加载网格或对某些列进行排序后,会显示摘要。

似乎summaryType需要在构建网格之前定义。我试着打电话setColProponBeforeTopics但它没有再次工作。

那么有什么方法可以在构建网格之前设置列属性?!

4

1 回答 1

1

我想 strust 2 jquery 网格插件在 4.6/4.7 版本中使用了一些旧的 jqGrid。从 4.4.4 版开始,jqGrid 支持onInitGrid回调和jqGridInitGrid事件,这对您的情况非常有帮助。在构建 jqGrid 的外部元素(例如列标题)之后,但第一次用数据填充网格之前(在第一次调用内部populate方法之前),回调/事件将被调用/触发。

因此,您可以使用以下代码进行所需的更改:

$("#gridtable").bind("jqGridInitGrid", function (e) {
    $(this).jqGrid("setColProp", "amount", { summaryType: "sum" }); 
});

重要的是要了解您可以/应该在创建网格之前进行绑定,因为空的<table id="gridtable"></table>已经存在,并且在创建 jqGrid 期间绑定不会更改。

免费的 jqGrid有另一个回调beforeInitGrid和相应的 event jqGridBeforeInitGrid,它将在创建 jqGrid 的任何外部部分之前提前调用,但该jqGridInitGrid事件已经足以满足您的目的。

于 2016-02-28T07:48:31.560 回答