RichFaces 4:<;rich:Jquery>;RF showcase中的Datatable样式效果在范围视图中不起作用
我正在尝试对jsf数据表进行样式设置,如下所示: 它在第一次加载页面时工作。但是,当我使用ajax调用对列进行排序时(如前面的链接所述),样式就消失了。如果我刷新,样式就会恢复 如果我将我的范围放在请求scop中。样式正在工作,但函数排序不再工作。我不太明白的事情。(对这种现象的解释感兴趣……) 因此,我理解jquery的担忧,但我没有找到一种方式来说明:“嘿,当我对数据表值排序时,不要让样式消失” 也许和《重播》有关 巴卢斯克,有什么想法吗?:) 多谢各位 祝你今天愉快RichFaces 4:<;rich:Jquery>;RF showcase中的Datatable样式效果在范围视图中不起作用,jquery,jsf-2,view-scope,richdatatable,Jquery,Jsf 2,View Scope,Richdatatable,我正在尝试对jsf数据表进行样式设置,如下所示: 它在第一次加载页面时工作。但是,当我使用ajax调用对列进行排序时(如前面的链接所述),样式就消失了。如果我刷新,样式就会恢复 如果我将我的范围放在请求scop中。样式正在工作,但函数排序不再工作。我不太明白的事情。(对这种现象的解释感兴趣……) 因此,我理解jquery的担忧,但我没有找到一种方式来说明:“嘿,当我对数据表值排序时,不要让样式消失” 也许和《重播》有关 巴卢斯克,有什么想法吗?:) 多谢各位 祝你今天愉快 <h:form
<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')})"/>
好的,添加attach type=“live”和事件类型后,我可以做得更好:
<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" event ="mouseover" query="jQuery(this).addClass('active-row')" attachType="live"/>
<rich:jQuery selector="#customList tr" event ="mouseout" query="jQuery(this).removeClass('active-row')" attachType="live"/>
另一个问题是为什么在rich:datatable中,RowClass设置为“order table奇数行,order table偶数行”,而我的css只命名为奇数行和偶数行。我迷路了
更新:我将css更改为订单表偶数行,订单表奇数行。。。现在所有东西都正常工作了
.even-row {background-color: #FCFFFE;}
.odd-row {background-color: #ECF3FE;}
.active-row {background-color: #FFEBDA !important;cursor: pointer;}