ここに示すように、jsfデータテーブルでスタイリングを試みています:
ページの最初の読み込み時に機能しています。しかし、(前に示したリンクで説明したように) ajax 呼び出しで列を並べ替えると、スタイリングが消えます。リフレッシュすれば、スタイリングが戻ってきます。
スコープをリクエストスコープに入れた場合。スタイリングは機能していますが、関数の並べ替えは機能していません。よくわからないこと。(その現象の説明に興味があります...)
だから私はjqueryが関係していることを理解していますが、「データテーブルの値をソートするときにスタイリングが消えないようにしないでください」と伝える方法が見つかりません
おそらくreRenderと関係がありますか?
BalusC、何か考えはありますか?:)
どうもありがとう、みんな、
良い1日を。
<h:form id="formSort" >
<a4j:outputPanel id="ajaxOutputPanel" layout="block" ajaxRendered="true">
<rich:dataTable id="customList" style="width:70%;margin-left:auto;margin-right:auto;" var="c" value="#{participant.listParticipant}" rendered="#{not empty participant.listParticipant}"
styleClass="stable"
rowClasses="order-table-odd-row,order-table-even-row">
<f:facet name="header"><h:outputText value="PARTICIPANTS" /></f:facet>
<rich:column>
<f:facet name="header"> <h:outputText value="ID DE L'ETUDE" /></f:facet>
<h:outputText value="#{c.id_study}" />
</rich:column>
<rich:column sortBy="#{c.enrollment_date}" id="enrollment_date" comparator="#{participant.dateComparator}" sortOrder="#{participant.dateOrder}">
<f:facet name="header" >
<a4j:commandLink value="DATE D'INCLUSION" render="customList" action="#{participant.sortByDates}" />
</f:facet>
<h:outputText value="#{c.enrollment_date}" />
</rich:column>
</rich:dataTable>
</rich:panel>
</a4j:outputPanel>
</h:form>
<rich:jQuery selector="#customList tr:odd" query="addClass('odd-row')" />
<rich:jQuery selector="#customList tr:even" query="addClass('even-row')" />
<rich:jQuery selector="#customList tr" query="mouseover(function(){jQuery(this).addClass('active-row')})"/>
<rich:jQuery selector="#customList tr" query="mouseout(function(){jQuery(this).removeClass('active-row')})"/>