我有一个将某些行组合在一起的JQGrid。我使用group
来定义哪些行应该组合在一起,例如,如果有三个2
,则将所有2
组合在一起。但是,可能只有一个2
,在这种情况下我不希望它被分组,即在一个组下面有一行。
我的问题是,是否可以将分组仅应用于某些行并将其他人留下?
以下是我目前的情况:
colNames:['group', 'Description', 'File Sent to Customer', 'Date/Time', 'ATS', '# of Bib Records', '# of Items', 'Customer DB', 'Customer ID'],
colModel:[
{name:'group', index:'group'},
{name:'description', index:'description'},
{name:'fileSent', index:'fileSent', width:150},
{name:'date', index:'date', width:160},
{name:'ats', index:'ats', width:100},
{name:'bibRecords', index:'bibRecords', width:100},
{name:'items', index:'items', width:100},
{name:'customerDB', index:'customerDB', width:240},
{name:'customerID', index:'customerID', width:150}
],
grouping:true,
groupingView : {
groupField : ['group'],
groupColumnShow : [false],
groupText : [''],
groupCollapse : true,
groupOrder: ['desc']
},
答案 0 :(得分:2)
我觉得你的问题很有意思。所以我编写的解决方案显示的是标准分组而不是标准分组(参见the starting demo)
以下内容:
相应的代码并不复杂:
loadComplete: function () {
var i, groups = $(this).jqGrid("getGridParam", "groupingView").groups,
l = groups.length,
idSelectorPrefix = "#" + this.id + "ghead_0_";
for (i = 0; i < l; i++) {
if (groups[i].cnt === 1) {
// hide the grouping row
$(idSelectorPrefix + i).hide();
}
}
}
它使用一个级别分组,但它可以以相同的方式更改为多级分组。
关于生成的网格的一个警告:您应该小心排序网格。问题是jqGrid只对组内的行进行排序。所以带有隐藏分组标题的上述行似乎不在排序过程中。