2015-09-18 27 views
0

我將richfaces 3.x應用程序遷移到4.x,在數據表上我需要添加未內置的排序功能,我添加了排序功能,但我需要爲排序設置圖標功能,我如何從richfaces組件ui jar中選擇圖標?我應該在項目中放置新的圖標,然後訪問它。RichFaces排序圖標

<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"); 
    } 

回答

0

如果您的應用程序遷移到RichFaces的4.5,那麼你並不需要訪問到排序圖標 - 它自動出現,添加排序時。

如果應用程序已遷移到以前版本的RichFaces 4.x,那麼只需在應用程序中添加3個排序圖標(從RichFaces 3或RichFaces 4 jar)並使用它。

UPDATE

以下是例如必須使用排序圖標:

<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)

+0

我的應用程序不會被遷移至4.5,好吧,我會將圖標添加到應用程序並嘗試使用它們。謝謝。 –

+0

我添加了一個並且在css文件中,我有三個不同的類,其中三個圖像的值來自bean.sortOrder,但仍然不起作用。 –

+0

你的答案工作絕對好,謝謝你的及時幫助。 –