我正在尝试对我的 jsf 数据表进行样式设置,如下所示:
它在第一次加载页面时工作。但是,当我使用 ajax 调用对列进行排序时(如前面显示的链接中所述),样式消失了。如果我刷新,样式又回来了。
如果我把我的范围放在请求范围内。样式有效,但功能排序不再有效。我不太明白的事情。(有兴趣解释这种现象......)
所以我知道 jquery 很担心,但我找不到办法说:“嘿,当我对数据表值进行排序时,不要让样式消失”
也许与 reRender 有关?
BalusC,有什么想法吗?:)
非常感谢各位,
祝你今天过得愉快。
<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')})"/>