jqGrid - groupCollapse при инициализации, но после поиска unCollapse - PullRequest
0 голосов
/ 09 января 2011

У меня есть jqGrid, который использует поиск по панели инструментов с некоторыми текстовыми поисками для businessName и раскрывающимся списком для состояний.Я использую функцию группировки для группировки по штатам, и это прекрасно работает.Я также установил параметр groupCollapse в true , поэтому в основном загружает сетку состояний с их количеством предприятий.

groupText: ["{0} - {1} businesses"],
groupCollapse:true

Затем для панели поиска панели инструментов filterToolbar

$("#businessGrid").jqGrid('filterToolbar',{stringResult: true,searchOnEnter : false, 
    afterSearch : function(){
   $("#businessGrid").jqGrid('setGridParam', 
          {'groupCollapse':false}
      ).trigger('reloadGrid');
      var x = $("#businessGrid").jqGrid('getGridParam','groupCollapse');
      console.log(x);
    }

});

Когда я регистрирую [ x ], он действительно устанавливает значение gridParam в значение false, но когда я запускаюперезагрузка сетки не разрушает группы.

Любые идеи будут оценены.Если это невозможно, мне придется придумать другое решение, но такое поведение было бы идеальным.

Спасибо, Тим

1 Ответ

1 голос
/ 09 января 2011

думаю, что я нашел, что решение удаляет группировку, что хорошо, так как только одно состояние может быть выбрано одновременно любым способом.

///if blank option (all states option) is chosen reapply grouping 
if($("#gs_StateFull").val() == "") {
   $("#businessGrid").jqGrid('setGridParam',{'grouping':true}).trigger('reloadGrid');
} else {
   $("#businessGrid").jqGrid('setGridParam',{'grouping':false}).trigger('reloadGrid');  

}

РЕДАКТИРОВАТЬ: поскольку groupCollapse внутри объекта groupingView его необходимо установить с помощьюСинтаксис ниже.Это также сохраняет группировку без изменений

///if blank option (all states option) is chosen reapply grouping 
if($("#gs_StateFull").val() == "") {
   $("#businessGrid").jqGrid('setGridParam',{groupingView: { groupCollapse : true} }).trigger('reloadGrid');
} else {
   $("#businessGrid").jqGrid('setGridParam',{groupingView: { groupCollapse : false} }).trigger('reloadGrid');   

}
...