我正在使用primefaces 3.3,并在数据表下将p:rowExpansion与p:toggler一起使用。
我想在选择另一行时折叠先前扩展的行。

我有一个ID为reconcileTable的数据表。

我们在素面中有任何功能可以处理这种情况吗?

提前致谢!

代码段:

 <p:dataTable id="ux_reconciliation_table" widgetVar="reconcileTable">

    <p:ajax event="rowSelect" listener="#{reconciliationBean.validateReconciliationAction}" update=":reconciliation_form:multiProcessBtn,:message_form_dialog :reconciliation_form:removeLatestSel" oncomplete="checkRowExpansion()"></p:ajax>
    <p:ajax event="rowToggle" listener="#{reconciliationBean.onRowToggle}" update="ux_row_nonrequired_content "/>
    <p:ajax event="rowUnselect" update=":reconciliation_form:multiProcessBtn"/>

    <f:facet name="header">
    <p:outputPanel>
    <p:outputLabel value="#{resourceBundle['reconciliation.worksheet_search.label']} " styleClass="ux_reconciliation_datatable_header_text"/>
    <p:inputText id="globalFilter" onkeyup="reconcileTable.filter()" styleClass="ux_reconciliation_input_search_field" />
    <h:graphicImage value="../images/common/I_Search.png" styleClass="ux_dialog_search"/>
    </p:outputPanel>
    </f:facet>

    <p:column id="Billing_MiscParty_PartyRole_Party_Organization_NameInfo_longName" sortBy="#{reconciliationDetail.payorName}" filterBy="#{reconciliationDetail.payorName}" filterMatchMode="contains" filterStyleClass="hide" styleClass="ux_ui-datatable-column ux_alpha-column">
    <f:facet name="header">
    <h:outputText value="" styleClass="ux_title_table_header_reconcile"/><br/>
    <h:outputText value="#{resourceBundle['reconciliation.payor_insured.table.column']}" styleClass="ux_title_table_header_reconcile"/><br/>
</f:facet>
<h:panelGroup id="reconArrowTogglerLink">
<div class="#{reconciliationDetail.parentId == 0?'ux_reconciliation_togger_icon':'ux_reconciliation_togger_icon ux_tab_style'}" onclick="reconciliationDatatable.onRowToggle(this, reconcileTable);">
    <p:rowToggler/>
    </div>
    </h:panelGroup>
    <h:outputText styleClass="ux_column_data_text ux_normal_text ux_reconciliation_subcriber" rendered="#{reconciliationDetail.payorName != null}" value="#{reconciliationDetail.payorName}"/>

    </p:column>

最佳答案

一种解决方案是,当用户扩展一行时,另一扩展行将触发click事件并将其折叠。

另请参阅:How at a time one row can expand in ?

在OnRowSelection中,您只需设置selectionMode="single"(Datatable的属性)

关于javascript - 选择另一个行时,展开的行应折叠,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16167146/

10-09 09:21