public void onPageAttached(Page newpage, Page oldpage) { super.onPageAttached(newpage, oldpage); if (oldpage == null) { Executions.getCurrent().setAttribute("zkoss.Grid.deferInitModel_" + getUuid(), Boolean.TRUE); //prepare a right moment to init Grid(must be as early as possible) this.addEventListener("onInitModel", _modelInitListener = new ModelInitListener()); Events.postEvent(20000, new Event("onInitModel", this)); //first event to be called } GroupsModel groupsModel = getGroupsModel(); if (_model != null || groupsModel != null) { getDataLoader().syncModel(-1, -1); postOnInitRender(); } if (_model != null && _dataListener != null) { _model.removeListDataListener(_dataListener); _model.addListDataListener(_dataListener); } if (groupsModel != null && _groupsDataListener != null) { groupsModel.removeGroupsDataListener(_groupsDataListener); groupsModel.addGroupsDataListener(_groupsDataListener); } }