Ssv*_*Ssv 1 primefaces primefaces-datatable
我正在尝试在 PrimeFaces 数据表上实现排序功能。我创建了一个模型对象列表。表的排序顺序存在问题。排序列包含整数和字符串值。当我应用默认排序机制(例如列表)时sort=#{var.id}
,列表是基于 ASCII 顺序进行排序的。下图是排序结果的图片。我目前使用的是 PrimeFaces v5.2.5
<p:column headerText="Code Type" sortBy="#{var.codeType}">
<h:outputText value="#{var.codeType}"/>
</p:column>
Run Code Online (Sandbox Code Playgroud)
任何人都可以指导我如何克服这个问题。
这里有两个选项:
sortFunction
在您的p:column
Comparable
sortFunction
创建一个函数,它接受两个对象并以比较的方式比较它们:
public int sortByModel(Object o1, Object o2) {
//return -1, 0 or 1 if o1 is less than, equal to or greater than o2
}
Run Code Online (Sandbox Code Playgroud)
并在您的专栏中使用它:
<p:column sortBy="#{var.codeType}" sortFunction="#{yourBean.sortByModel}">
Run Code Online (Sandbox Code Playgroud)
为您的列使用自定义类型并确保它实现Comparable<YourCustomType>
. 这迫使您实现compareTo(YourCustomType o)
可用于以您喜欢的任何方式排序的方法。
也可以看看:
归档时间: |
|
查看次数: |
7867 次 |
最近记录: |