Struts 2 jquery 网格插件集 summaryType

Struts 2 jquery grid plugin set summaryType

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

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

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

似乎summaryType需要在构建网格之前定义。我尝试在 onBeforeTopics 中调用 setColProp 但它没有再次起作用。

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

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

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

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

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

Free jqGrid 有另一个回调 beforeInitGrid 和相应的事件 jqGridBeforeInitGrid,将在创建 jqGrid 的任何外部部分之前调用它,但是 jqGridInitGrid 活动已经足够满足你的目的了。