gpt4 book ai didi

jquery - 是否存在使用 jqGrid 按需分组的解决方案?

转载 作者:行者123 更新时间:2023-12-01 07:28:16 25 4
gpt4 key购买 nike

我想创建一个分组为true的jqGrid,但只有第一个组展开,其他组在展开该组时保持折叠状态,已折叠,我需要从服务器加载数据。

有人有解决办法吗?

PS:我需要使用分组,为什么用户可以动态选择其他列进行分组。

最佳答案

要实现您的要求,您应该使用 groupCollapse: true 让所有组以折叠形式显示。例如像

grouping: true,
groupingView: {
groupField: ['invdate'],
groupCollapse: true,
groupDataSorted: true
}

然后根据 groupingToggle 展开第一组网格被填满后。例如,您可以在 loadComplete 中使用以下代码:

loadComplete: function () {
var $this = $(this), firstGroup = $this.find('tr.jqgroup:first');
if (firstGroup.length > 0) {
$this.jqGrid('groupingToggle', firstGroup[0].id);
}
}

如果您提醒如何构造网格分组行的 id,您可以将代码简化为以下内容

loadComplete: function () {
$(this).jqGrid('groupingToggle', this.id + 'ghead_0');
}

参见the demo .

要动态更改用于分组的列,您可以使用 groupingGroupBy 方法:

$("#list").jqGrid('groupingGroupBy', columnName);

例如$("#list").jqGrid('groupingGroupBy', 'ship_via');。您应该明白,新的 groupField 仅在下次填充网格主体后才会使用。因此,如果您想在服务器上定义分组顺序并将其包含在服务器响应中,您应该在 beforeProcessing 内部调用 groupingGroupBy 方法,而不是在 loadComplete< 内部.

关于jquery - 是否存在使用 jqGrid 按需分组的解决方案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8180808/

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