我发现primefacess现在支持treeTable排序的信息。 http://blog.primefaces.org/?p=3017
''使用与通过列的 sortBy 属性的数据表相同''
但是当我添加 sortBy 属性时,排序功能不会显示。
Welcome.xhtml中有我的 treeTable 。
<h:form id="form">
<p:treeTable id="treeTable"
value="#{treeCheckBox.root}" var="manager"
selection="#{treeCheckBox.selectedNodes}" selectionMode="checkbox">
<p:column style="width:100px" sortBy="id">
<f:facet name="header">
ID
</f:facet>
<h:outputText value="#{manager.id}"/>
</p:column>
<p:column style="width:100px" sortBy="description">
<f:facet name="header">
Description
</f:facet>
<h:outputText value="#{manager.description}"/>
</p:column>
<p:column style="width:100px" sortBy="knowledgeDate">
<f:facet name="header">
KnowladgeDate
</f:facet>
<h:outputText value="#{manager.knowledgeDate}"/>
</p:column>
</p:treeTable>
</h:form>
和简单的经理 POJO。
public class Manager implements Serializable{
private static final long serialVersionUID = -1927658103477398301L;
private String id;
private String description;
private String knowledgeDate;
public Manager() {
}
public Manager(String id, String description, String knowledgeDate) {
this.id = id;
this.description = description;
this.knowledgeDate = knowledgeDate;
}}
//... getters and setters