【问题标题】:expanded row should be collapse on selection of anotherrow展开的行应该在选择另一行时折叠
【发布时间】:2013-04-16 12:54:12
【问题描述】:

我正在使用 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>

【问题讨论】:

    标签: javascript primefaces


    【解决方案1】:

    一种解决方案是当用户展开一行时,其他展开的行会触发点击事件并被折叠。

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

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

    【讨论】:

    • 感谢 RongNK...它在切换时工作正常..我想要在行选择上做同样的事情....我用 onSelect 事件尝试了同样的事情,但它不起作用:(
    • 你设置了 selectionMode="single"(我已经更新了我的答案)?
    • 根据要求我设置 selectionMode="multiple" 并且用户可以选择多条记录。
    • “用户可以选择多条记录”,那么“选择的行应该在选择另一行时取消选择”是什么意思?
    • 如果你设置了 selectionMode="multiple",所以用户必须按 Ctrl 键,如果用户想选择一行,用户只需松开 Ctrl 键!
    猜你喜欢
    • 2013-08-21
    • 2016-10-29
    • 1970-01-01
    • 1970-01-01
    • 2021-12-10
    • 1970-01-01
    • 2017-01-11
    • 1970-01-01
    • 2012-04-24
    相关资源
    最近更新 更多