I did the following:
override methods (GroupingView):
Code:
private void onGroupByClick(MenuEvent me, int colIndex) {
groupingStore.groupBy(cm.getDataIndex(colIndex));
grid.getState().put("lastGroupField", getGroupField()); // write to grid state
}
Code:
@Override
protected String renderRows(int startRow, int endRow) {
String groupField = getGroupField();
boolean eg = groupField != null;
if (!showGroupedColumn) {
...
grid.getState().put("lastGroupField", groupField); // write to grid state
}
return super.renderRows(startRow, endRow);
}
and add to grid listener:
Code:
grid.addListener(Events.Attach, new Listener<GridEvent<Post>>() {
@Override
public void handleEvent(GridEvent<Post> be) {
...
Map<String, Object> state = grid.getState();
...
if (state.containsKey("lastGroupField")) {
store.groupBy((String) grid.getState().get("lastGroupField"));
}
loader.load(config);
}
});
How it is right? I don't know