Puede establecer el valor predeterminado de la propiedad groupCollapse
del parámetro groupingView
de jqGrid de la misma manera como se establece cualquier otro parámetro por defecto:
$.extend($.jgrid.defaults, {
groupingView: {
groupCollapse: true
}
});
ACTUALIZADO: Después de la explicación adicional en los comentarios que puedo Me imagino que en algunos casos puede tener el comportamiento cuando todos los grupos se expandirán/colapsarán si alguno de los grupos se expandirá/colapsará.
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;
}
}
}
});
Ver the demo.
Este no es mi requisito, quiero colapsar/expandir para todos los grupos. La opción que ha sugerido es colapsar en cada nivel de grupo. –
@Suresh: ¿Podría explicar más claro lo que quiere? Las imágenes pueden ser útiles. jqGrid admite solo un nivel de agrupación, por lo que no entiendo dónde hay diferencia entre "colapso para todos los grupos" y "colapso en cada nivel de grupo". – Oleg
gracias por la respuesta. Digamos, por ejemplo, al agrupar por fecha, obtengo tres grupos durante 3 días. Para cada uno de los grupos, podemos expandir y contraer para ver u ocultar filas en ese grupo. Ahora mi requisito es: necesito expandir y colapsar. Al expandir esto, todos los grupos deberían expandirse y al colapsarse, todos los grupos deberían colapsarse. Espero que entiendas lo que quiero decir. De esta forma, ayuda al usuario a evitar expandir cada grupo para ver todos los resultados. –