【发布时间】:2015-04-21 05:52:54
【问题描述】:
我创建了一个 jqGrid - 数据透视表 JSFiddle 示例:here。
在此如果Component Type 值为空白,则不应打印该行,我使用此空列显示一年中的所有期间(月),这是强制性的。
在删除该空白行时需要帮助。并且是否可以从网格中删除最后一个总和列2015,如果可以,如何?
【问题讨论】:
标签: jqgrid free-jqgrid jqpivot
我创建了一个 jqGrid - 数据透视表 JSFiddle 示例:here。
在此如果Component Type 值为空白,则不应打印该行,我使用此空列显示一年中的所有期间(月),这是强制性的。
在删除该空白行时需要帮助。并且是否可以从网格中删除最后一个总和列2015,如果可以,如何?
【问题讨论】:
标签: jqgrid free-jqgrid jqpivot
您在ComponentType:"" 组中包含您不想显示的虚拟数据。所以我看到的最佳解决方案是仅将数据包含在输入数据透视数据中,但不要在网格数据中使用虚拟数据。 jqPivot 使用datatype: "jsonstring" 来防止对先前排序的数据进行额外排序。输入数据将作为datastr 选项的值放置。因此可以使用以下onInitGrid 删除虚拟数据之前数据将由jqGrid处理:
onInitGrid: function () {
var p = $(this).jqGrid("getGridParam"),
userdata = p.datastr.userdata;
p.datastr = $.grep(p.datastr, function (item) {
return item.ComponentType !== "";
});
p.datastr.userdata = userdata;
}
【讨论】:
loadComplete 放置在绝对错误的位置。 jqPivot 的 3-d 参数指定 jqGrid 选项。您包含了{ loadComplete: function() {...} },并且使用onInitGrid 的选项现在将在jqPivot 的4-d 参数 中,并将被解释为Ajax 选项。所以我建议的onInitGrid 不会被使用。你应该使用jsfiddle.net/OlegKi/b47ocLd7/16之类的东西。
groupingView.groupField 数组中的列排序,您应该动态更改groupingView.groupOrder。仅当groupingView.groupColumnShow 包含true 元素时,问题才存在。通常使用groupingView.groupColumnShow: [false] 并且根本没有分组列。