我的JSF代码是这样的:
<p:dataTable var="result" value="#{timerConfigurationJobList.model}" rows="10"
paginator="true" paginatorPosition="bottom"
paginatorTemplate="{RowsPerPageDropdown} {FirstPageLink} {PreviousPageLink} {CurrentPageReport} {NextPageLink} {LastPageLink}"
rowsPerPageTemplate="10,20,50" id="approvalTable" lazy="true">
<p:column sortBy="#{result.jobId}">
<f:facet name="header">
<h:outputText value="#{msg['content.jobList.jobId']}"/>
</f:facet>
</p:column >
</p:dataTable>
我得到的结果是:
从图中可以看出:&#39; 123&#39;高于&#39; 2&#39;,&#39; 4&#39;,&#39; 7&#39;和&#39; 9&#39;。我希望它在最后得到,所以它是数字的&#39;排序。
使用Java和JSF 2。
编辑:在懒惰的模型中,我发现了这个:
@Override
public final List<T> load(int first, int pageSize, String sortField, SortOrder sortOrder,
final Map<String, Object> filters) {
Map<String, Sort> sorts = new HashMap<>();
if (sortField != null) {
if (sortOrder.equals(SortOrder.ASCENDING)) {
sorts.put(sortField, Sort.ASC);
} else if (sortOrder.equals(SortOrder.DESCENDING)) {
sorts.put(sortField, Sort.DESC);
}
// unsorted can be ignored
}
答案 0 :(得分:0)
有多种方法可以解决这个问题: