public void broadcast(FacesEvent event) throws AbortProcessingException { if (event instanceof DataScrollEvent) { DataScrollEvent dataScrollerEvent = (DataScrollEvent) event; updateModel(dataScrollerEvent.getPage()); FacesContext facesContext = getFacesContext(); UIComponent dataTable = getDataTable(); List<AbstractDataScroller> dataScrollers = DataScrollerUtils.findDataScrollers(dataTable); for (AbstractDataScroller dataScroller : dataScrollers) { facesContext .getPartialViewContext() .getRenderIds() .add(dataScroller.getClientId(facesContext)); } String dataTableId = null; if (dataTable instanceof MetaComponentResolver && !(dataTable instanceof UIDataTableBase && ((UIDataTableBase) dataTable).hasRowChildren())) { dataTableId = ((MetaComponentResolver) dataTable).resolveClientId(facesContext, dataTable, "body"); } if (dataTableId == null) { dataTableId = dataTable.getClientId(facesContext); } facesContext.getPartialViewContext().getRenderIds().add(dataTableId); // add datascroller to render String dataScrollerId = getClientId(facesContext); if (!facesContext.getPartialViewContext().getRenderIds().contains(dataScrollerId)) { facesContext.getPartialViewContext().getRenderIds().add(dataScrollerId); } } super.broadcast(event); }