我正在使用primefaces 3.3并在数据表下使用p:rowExpansion和p:toggler。 我想在选择另一行时折叠先前扩展的行。
我有一个id为reconcileTable的数据表。
我们在primefaces中有任何功能来处理这种情况吗?
提前感谢!
Code Snippet ::
<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>
答案 0 :(得分:1)
一种解决方案是当用户展开一行时,其他展开的行将触发点击事件并且它将被折叠。
另请参阅: How at a time one row can expand in ?
在OnRowSelection中,您只需设置selectionMode="single"
(Datatable的属性)