2013-04-23 29 views
1

我正在使用primefaces 3.3並使用p:rowExpansion與p:toggler在一個數據表下。 我想摺疊選擇其他行之前擴展的行。擴展行應選擇其他行倒塌

我有一個數據表與id reconcileTable。

我們在primefaces中有處理這種情況的功能嗎?

在此先感謝!

代碼片段::

<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> 

回答

1

一種解決方案是,當用戶EXPAN一行,其他擴展行會觸發點擊事件,它將崩潰。

參見:How at a time one row can expand in ?

在OnRowSelection,您只需設置selectionMode="single"(DataTable的屬性)

+0

感謝RongNK ......其工作細與toggle..i希望在行選擇同樣的事情.. ..我嘗試與onSelect事件相同的東西,但它不工作:( – Vikas 2013-04-23 12:35:36

+0

你設置了selectionMode =「單」(我已經更新了我的答案)? – 2013-04-23 12:51:14

+0

根據要求我設置selectionMode =「多」,用戶可以選擇多個記錄。 – Vikas 2013-04-23 13:46:53