我正在将richfaces 3.x应用程序迁移到4.x,在datatable上我需要添加未内置的排序功能,我已经添加了排序功能,但我需要为排序功能放置图标,如何从richfaces jar中选择图标?我是否应该在项目中放置新图标,然后访问它。
<rich:dataTable id="showsEventsTable">
<rich:column sortable="true" selfSorted="true"
sortBy="#{show.name}" sortorder="SortOrder.ascending" sortOrder="#{sortingBean.showNameOrder}">
<f:facet name="header">
<a4j:commandLink value="Show Name" render="showsEventsTable" action="#{sortingBean.sortByShowName()}"
styleClass="sortingColumn" status="waitStatus">
<span styleClass="#{sortingBean.sortOrder}"/>
<h:graphicImage value="??(what should go here if am accessing richfaces components jar)" library="org.richfaces"/>
</a4j:commandLink>
</f:facet>
<h:outputText value="#{show.name}" />
</rich:column>
</rich:dataTable>在css文件中
.ascending{
background-image: url("imgpath");
}
.descending{
background-image: url("imgpath");
}
.unsorted{
background-image: url("imgpath");
} 发布于 2015-09-18 16:55:21
如果您的应用程序被迁移到RichFaces 4.5,那么您就不需要访问排序图标--在添加排序时,它会自动出现。
如果应用程序迁移到以前版本的RichFaces 4.x,那么在应用程序中添加3个排序图标(来自RichFaces 3或RichFaces 4 jar)并使用它。
更新
下面的示例必须使用排序图标:
<rich:column id="date" sortBy="#{rs.changeDate}" sortOrder="descending">
<f:facet name="header">
<h:commandLink value="#{msg.entryDate}" styleClass="tableColumnHeader">
<rich:componentControl target="noteTable" operation="sort">
<f:param name="column" value="date" />
<f:param value="" />
<f:param name="reset" value="true" />
</rich:componentControl>
<h:graphicImage value="/images/sort/sort_asc.gif"
style="border: 0px; vertical-align: middle;"
rendered="#{chNotesAction.list.order == 'changeDate ASC'}" />
<h:graphicImage value="/images/sort/sort_des.gif"
style="border: 0px; vertical-align: middle;"
rendered="#{chNotesAction.list.order == 'changeDate DESC'}" />
<h:graphicImage value="/images/sort/sort_uns.gif"
style="border: 0px; vertical-align: middle;"
rendered="#{chNotesAction.list.order != 'changeDate ASC'
and chNotesAction.list.order != 'changeDate DESC'}" />
</h:commandLink>
</f:facet>
<h:outputText value="#{rs.changeDate}">
<f:convertDateTime timeZone="#{referenceData.timezone}" pattern="MMM dd, yyyy HH:mm" />
</h:outputText>
</rich:column>可以将1 graphicImage与EL一起用于value属性(如order eq 'ASC' ? sort_acs.gif : (order eq 'DESC' ? sort_desc.gif : sort_unc.gif) )。
https://stackoverflow.com/questions/32647703
复制相似问题