2017-04-24 2 views
0

こんにちは私はp:rowTogglerでデータテーブルを持っているので、行の展開からポップアップを起動すると、ポップアップを閉じると、行のいくつかのラベルを更新する必要があります。アップデートが動作します!行が拡大し、崩壊した。ポップアップを閉じてコンテンツを更新した後、どのようにrowexpansionを開いたままにしておくことができますか?ありがとう。テーブルの更新でprimefacesのrowexpansionを開いたままにする方法はありますか?

ポップアップ

のスニペット

<p:ajax event="close" update=":id1:id2" oncomplete="someJavascript()" /> 

Databable

のスニペット
<h:form prependId="false" id="id1"> 
      <h:panelGroup id="id2" > 
        <p:dataTable tableStyleClass="win" var="element"        id="table1" value="#{myBean.list}" 
          selectionMode="single" rowExpandMode="single" rowIndexVar="cont" widgetVar="table1" 
          selection="#{myBean.selectedRecord}" rowKey="#{element.id}" > 
<p:ajax event="rowToggle" listener="#{myBean.methodBean(element)}" /> 
        <p:column styleClass="rowTogglerStyle" 
<p:rowToggler collapseLabel="#{bundle.show}" 
expandLabel="#{bundle.show}"> 
</p:rowToggler>      
</p:column> 

</p:datatable> </h:panelGroup> </h:form> 

答えて

0

こんにちは問題は、選択したrowexpansionということでしたので、私は中onclomplete atributteではJavaScriptを経由して、閉じたrowexpansionを再開するために、これを行うことが見いださp:ajax:

jQuery( 'tr.ui-state-highlight')。find( 'td.rowTogglerStyle> div.ui-row-toggler')。trigger( 'click');

他の人にとっては便利だと思います。

1

あなたが行うことができます拡大した行の要素IDを保存する場合それはそのよう:近いポップアップはまだクラスUIステートのハイライトを持っていた後

<p:dataTable rowKey="#{element.id}" expandedRow="#{element.id == myBean.expandedRowElementId}"> 
+0

ありがとう@lastresort私はそれを試しています。 –

関連する問題