@Override public void encodeMetaComponent( FacesContext facesContext, UIComponent component, String metaComponentId) throws IOException { AbstractCollapsibleSubTable subTable = (AbstractCollapsibleSubTable) component; if (AbstractCollapsibleSubTable.BODY.equals(metaComponentId)) { ResponseWriter writer = facesContext.getResponseWriter(); UIDataTableBase dataTableBase = findParent(subTable); String updateId = dataTableBase.getRelativeClientId(facesContext) + ":" + subTable.getId() + TB_ROW; partialStart(facesContext, updateId); encodeTableRows(writer, facesContext, subTable, false); partialEnd(facesContext); } }
@Override public void encodeTableBodyStart( ResponseWriter writer, FacesContext facesContext, UIDataTableBase dataTableBase) throws IOException { AbstractCollapsibleSubTable subTable = (AbstractCollapsibleSubTable) dataTableBase; UIDataTableBase component = findParent(subTable); if (component instanceof AbstractDataTable) { writer.startElement(HtmlConstants.TBODY_ELEMENT, null); writer.writeAttribute( HtmlConstants.ID_ATTRIBUTE, component.getRelativeClientId(facesContext) + ":" + subTable.getId() + TB_ROW, null); writer.writeAttribute(HtmlConstants.CLASS_ATTRIBUTE, getTableSkinClass(), null); String predefinedStyles = !subTable.isExpanded() ? DISPLAY_NONE : null; encodeStyle(writer, facesContext, subTable, predefinedStyles); } }