È possibile impostare il valore predefinito della groupCollapse
di proprietà del parametro groupingView
del jqGrid nello stesso modo come si imposta qualsiasi altro parametro predefinito:
$.extend($.jgrid.defaults, {
groupingView: {
groupCollapse: true
}
});
AGGIORNATO: Dopo ulteriore spiegazione nei commenti che posso Immagino che in alcuni casi possa avere il comportamento quando tutti i gruppi verranno espansi/compressi se qualcuno dei gruppi verrà espanso/compresso.
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;
}
}
}
});
Vedere the demo.
Questo non è il mio requisito, voglio comprimere/espandere per tutti i gruppi. L'opzione che hai suggerito è per il collasso a ogni livello di gruppo. –
@Suresh: potresti spiegare più chiaramente cosa vuoi. Le foto possono essere utili. jqGrid supporta solo un livello di raggruppamento, quindi non capisco dove sono le differenze tra "collasso per tutti i gruppi" e "collasso a livello di ogni gruppo". – Oleg
grazie per la risposta. Ad esempio, nel raggruppamento per data, ottengo tre gruppi per 3 giorni. Per ciascun gruppo possiamo espandere e comprimere per vedere/nascondere le righe in quel gruppo. Ora il mio requisito è che ho bisogno di un ampliamento e di un collasso - espandendo questo, tutti i gruppi dovrebbero essere espansi e al collasso, tutti i gruppi dovrebbero essere compressi. Spero tu abbia capito cosa intendo. In questo modo, aiuta l'utente ad evitare di espandere ciascun gruppo per vedere tutti i risultati. –