当我们在某个字段上分组行时,我们如何为 JQGrid 进行全局展开/折叠?
当我们在某个字段上分组行时,如何为 JQGrid 进行全局展开/折叠?
How can we have global Expand/Collapse for JQGrid when we have rows grouped on some field?
展开时,应展开所有组,折叠时应折叠所有组.
On expanding, it should expand all groups and on collapsing all groups should be collapsed.
推荐答案
同样的方法可以设置jqGrid的groupingView
参数的groupCollapse
属性的默认值就像您设置任何其他默认参数一样:
You can set default value of the groupCollapse
property of the groupingView
parameter of jqGrid in the same way like you set any other default parameter:
$.extend($.jgrid.defaults, {
groupingView: {
groupCollapse: true
}
});
已更新:在评论中进行了额外解释后,我可以想象在某些情况下,当 所有 组从组将被展开/折叠.
UPDATED: After additional explanation in the comments I can me imagine that in some cases it can has the behavior when all groups will be expanded/collapsed if any from the groups will be expanded/collapsed.
var $grid = $("#list"), inOnClickGroup = false;
$grid.jqGrid({
// ... other options
grouping: true,
onClickGroup: function (hid) {
var idPrefix = this.id + "ghead_", id, i, l,
groups = this.p.groupingView.sortnames[0];
if (!inOnClickGroup && hid.length > idPrefix.length &&
hid.substr(0, idPrefix.length) === idPrefix) {
id = Number(hid.substr(idPrefix.length));
if (typeof (groups[id]) !== "undefined") {
inOnClickGroup = true; // set to skip recursion
for (i = 0, l = groups.length; i < l; i++) {
if (i !== id) {
$(this).jqGrid('groupingToggle', this.id + 'ghead_' + i);
}
}
inOnClickGroup = false;
}
}
}
});
参见演示.
相关文章