在RichFaces的服务器端的DataTable排序 [英] Server-side DataTable Sorting in RichFaces

查看:279
本文介绍了在RichFaces的服务器端的DataTable排序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个可变的列数和一个数据卷轴的数据表。我怎样才能使服务器端的排序?我preFER它通过单击列标题中的用户被解雇。

 <丰富:datascroller为=instanceList的ActionListener =#{pageDataModel.pageChange}/>
<丰富:dataTable中的id =instanceList行=10值=#{pageDataModel}
                VAR =fieldValues​​rowKeyVar =rowKey>
  <丰富:列值=#{pageDataModel.columnNames}VAR =栏指数=IDX>
    < F:面名=标头>
      < H:的outputText值=#{}栏/>
    < / F:面>
    < H:的outputText值=#{classFieldValues​​ [IDX]}/>
  < /富:列>
< /富:dataTable的>
 

我已经对这个bean的方法来执行排序。

 公共无效排序(INT列)
 

解决方案

我最后做手工。我加入了支持标签的标题文字标签,就像这样。

 < H:的outputText值=#{}栏>
  < A4J:支持事件=的onclick行动=#{pageDataModel.sort(IDX)}
               eventsQueue =instancesQueue
               重新呈现=instanceList,instanceListScroller/>
< / H:的outputText>
 

要获得上升/下降箭头,我添加了一个CSS类。

 < H:的outputText值=#{}栏的styleClass =#{pageDataModel.getOrderClass(IDX)}>
  < A4J:支持事件=的onclick行动=#{pageDataModel.sort(IDX)}
               eventsQueue =instancesQueue
               重新呈现=instanceList,instanceListScroller/>
< / H:的outputText>
 

I have a data table with a variable number of columns and a data scroller. How can I enable server side sorting? I prefer that it be fired by the user clicking the column header.

<rich:datascroller for="instanceList" actionListener="#{pageDataModel.pageChange}"/>
<rich:dataTable id="instanceList" rows="10" value="#{pageDataModel}"
                var="fieldValues" rowKeyVar="rowKey">
  <rich:columns value="#{pageDataModel.columnNames}" var="column" index="idx">
    <f:facet name="header">
      <h:outputText value="#{column}"/>
    </f:facet>          
    <h:outputText value="#{classFieldValues[idx]}" />
  </rich:columns>
</rich:dataTable>

I already have a method on the bean for executing the sort.

public void sort(int column)

解决方案

I ended up doing it manually. I adding a support tag to the header text tag, like so.

<h:outputText value="#{column}">
  <a4j:support event="onclick" action="#{pageDataModel.sort(idx)}"
               eventsQueue="instancesQueue"
               reRender="instanceList,instanceListScroller"/>
</h:outputText>

To get the ascending/descending arrows, I added a css class.

<h:outputText value="#{column}" styleClass="#{pageDataModel.getOrderClass(idx)}" >
  <a4j:support event="onclick" action="#{pageDataModel.sort(idx)}"
               eventsQueue="instancesQueue"
               reRender="instanceList,instanceListScroller"/>
</h:outputText>

这篇关于在RichFaces的服务器端的DataTable排序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆