DataTable and subTable expand and Collapse
sanjeevkoppal Jul 9, 2008 3:22 PMI have tried this Expand and collapse using dataTable and subtable table implementation, thought it might be useful ...
I had posted
http://www.jboss.com/index.html?module=bb&op=viewtopic&t=138340
for which i couldn't get any soln...
the below code works ... as of now :)
<rich:dataTable id="jobList" styleClass="sResults" cellpadding="0" cellspacing="0" width="700" border="0" var="val" value="#{paginator.values}" rows="10"> <rich:column style="width:20px"> <f:facet name="header"> <rich:spacer/> </f:facet> <a4j:commandLink action="#{paginator.expandVersion}" reRender="jobList_${val.nodeNid},jobList" ajaxSubmit="true" rendered="#{oesfn:jobHasVersions(paginator,val.nodeNid)}" oncomplete="hideImg('_img_${val.nodeNid}'),showImg('_img_1_${val.nodeNid}'),showDiv('${val.nodeNid}')" > <img id="_img_${val.nodeNid}" src="../images/arrow_right.gif" /> <f:param name="expand" value="true" /> </a4j:commandLink> <a4j:commandLink action="#{paginator.expandVersion}" reRender="jobList_${val.nodeNid},jobList" ajaxSubmit="true" rendered="#{oesfn:jobHasVersions(paginator,val.nodeNid)}" oncomplete="showImg('_img_${val.nodeNid}'),hideImg('_img_1_${val.nodeNid}'),hideDiv('${val.nodeNid}')" > <img id="_img_1_${val.nodeNid}" src="../images/arrow_down.gif" /> <f:param name="expand" value="false" /> </a4j:commandLink> </rich:column > <rich:column sortBy="#{val.nodeNid}" style="width:100px"> <f:facet name="header"> <h:outputText value="Job Code" /> </f:facet> <h:commandLink value="#{val.nodeNid}" action="#{viewJobBean.viewJobDetail}"> <f:param name="jobId" value="#{val.nodeNid}" /> </h:commandLink> </rich:column> <rich:column sortBy="#{val.jobStatusString}" style="width:120px"> <f:facet name="header"> <h:outputText value="Status" /> </f:facet> <img src="xyz.gif" /> #{val.jobStatusString} </rich:column> <!-- NESTED TABLE --> <rich:subTable id="jobList_${val.nodeNid}" onRowMouseOver="this.style.backgroundColor='#F8F8F8'" styleClass="sResultsver" onRowMouseOut="this.style.backgroundColor='#{a4jSkin.tableBackgroundColor}'" value="#{paginator.subTableList}" var="val2" rendered="${paginator.expandVersion"> <rich:scrollableDataTable height="100px" width="900px" id="jobScrollVerList" rows="10" value="#{paginator.versions}" var="val1" > <rich:column style="width:100px"> <h:commandLink value="#{val1.versionFrnNodeNid}" action="#{viewJobBean.viewJobDetail}"> <f:param name="jobIdVersion" value="#{val1.versionFrnNodeNid}" /> </h:commandLink> </rich:column> <rich:column style="width:120px"> <img src="/images/icon_doc_silver.gif" /> #{val1.versionState} </rich:column> </rich:scrollableDataTable> </rich:column> </rich:subTable> <!-- END NESTED TABLE --> <f:facet name="footer"> <rich:datascroller id="ds2" ajaxSingle="false" reRender="jobList" for="jobList" pageIndexVar="pageIndex" pagesVar="pages" boundaryControls="show" fastControls="hide" > <f:facet name="pages"> <h:outputText value="Displaying Page #{pageIndex} / of #{pages}" ></h:outputText> </f:facet> </rich:datascroller> </f:facet> </rich:dataTable>