Existuje spôsob, ako môžeme implementovať rozšírenievšetky / zbalenie všetkých funkcií pre zoskupenie funkcie v jqgrid? Keďže chápem nastavenie groupingCollapse: true, zbaliť dáta, ale rád by som to urobil dynamicky, môže to byť kliknutím na +/- ikony umiestnené v mriežke. Ďakujeme vopred za akékoľvek návrhy alebo pomoc ...
odpovede:
1 pre odpoveď č. 1Myslím, že na vašu otázku nájdete odpoveď stará odpoveď, Hlavná myšlienka odpovede je použiť sortnames[0]
vlastnosť parametra groupingView
jqGrid. Je to pole, ktoré prvky sa dajú použiť na zostrojenie identifikátorov skupinových hlavičiek a ktoré je možné použiť groupingToggle
metóda zbaliť alebo rozbaliť záhlavie skupiny. Týmto spôsobom môžete rozšíriť alebo zbaliť všetky skupiny.
1 pre odpoveď č. 2
Toto je špecifické pre konkrétnu verziu jqgrid a rozširuje všetky vrstvy, ale je to tak krátke a sladké, že sa jednoducho nemôžem brániť vysielaniu.
function expandAll() {
$("#myGrid .ui-icon-circlesmall-plus").trigger("click");
}
0 pre odpoveď č. 3
S odpoveďou / návrhom Olegu a Jqgrid4.4.1, tu je to, čo som urobil.To funguje, keď chcete rozbaliť / zbaliť všetky riadky po kliknutí na niektoré tlačidlo ...
function expandCollapseGroups(expandAll) {
var $grid = $("#grid");
var idPrefix =$grid[0].id + "ghead_0_", trspans;
var groups =$grid[0].p.groupingView.groups;
if ($grid[0].p.grouping) {
for (var index = 0; index < groups.length; index++) {
if (expandAll) {
trspans = $("#" + idPrefix + index + " span.tree-wrap-" +$grid[0].p.direction + "." +$grid[0].p.groupingView.plusicon);
} else {
trspans = $("#" + idPrefix + index + " span.tree-wrap-" +$grid[0].p.direction + "." +$grid[0].p.groupingView.minusicon);
}
if (trspans.length > 0) {
$grid.jqGrid("groupingToggle", idPrefix + index);
}
}
}
}