gpt4 book ai didi

jqgrid - 动态启用分组

转载 作者:行者123 更新时间:2023-12-02 05:10:11 26 4
gpt4 key购买 nike

我能够通过 jqgrid 演示页面中的示例实现分组功能。但我不想默认启用分组,但在更改选择列表时我想启用分组功能。我尝试了多种选择,但没有一个成功?有人可以帮助我吗,也许我错过了一些东西。这是我的代码...

$("#dynamicGrouping").change(function() { 
var value = $(this).val();
if(value) {
if(value == '') {
$('#grid').jqGrid('groupingRemove', true);
} else {
$('#grid').jqGrid('setGridParam', { grouping:true });
$('#grid').jqGrid('groupingGroupBy', value);
$('#grid').trigger('reloadGrid');
}
}
});

我的网格定义:

jQuery(function() {
$('#grid').jqGrid({
.....
.....
grouping: false,
groupingView : {
groupField : ['field_name'],
groupColumnShow : [true],
groupText : ['<b>{0} - {1} Item(s)</b>'],
groupCollapse : false,
groupOrder: ['asc'],
groupDataSorted : true
},
.......
.......
});
});

最佳答案

我认为您在代码中犯了一些错误。您发布的代码似乎是正确的,但您不需要另外设置 grouping:true 并触发 reloadGrid 因为 groupingGroupBy 会这样做自动。

The demo演示动态设置或删除分组。

enter image description here

所以你可以使用

$("#dynamicGrouping").change(function () {
var groupingName = $(this).val();
if (groupingName) {
$('#grid').jqGrid('groupingGroupBy', groupingName);
} else {
$('#grid').jqGrid('groupingRemove');
}
});

或更高级的版本

$("#dynamicGrouping").change(function () {
var groupingName = $(this).val();
if (groupingName) {
$('#grid').jqGrid('groupingGroupBy', groupingName, {
groupOrder : ['desc'],
groupColumnShow: [false],
groupCollapse: true
});
} else {
$('#grid').jqGrid('groupingRemove');
}
});

更新:一切都适用于 JSON 数据:请参阅 the demo .

更新2:我又查看了一遍代码,发现gridview将设置为true网格初始化:参见the lines 。如果您没有 gridview: true 并最初使用 grouping: false,那么您将无法仅更改 grouping: true。您还必须设置 the grouping limitations 中的其他参数正确。

所以你必须自己遵守规则,不受限制:

scroll: false,
rownumbers: false,
treeGrid: false,
gridview: true,

顺便说一句,我建议始终使用 gridview: true 因为性能更好。

关于jqgrid - 动态启用分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12657053/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com