【发布时间】:2017-06-23 21:11:28
【问题描述】:
我正在尝试对从 DAO 传递 List 作为值的数据表进行排序,就像在下一个代码中一样,但它无法排序。我是否遗漏了一些明显的东西?:
<p:dataTable id="mytable" var="item"
value="#{backBean.items}"
paginator="false"
styleClass="mytableClass"
>
<p:column headerText="field4" sortBy="#{item[4]}">
<h:outputText value="#{item[4]}">
<f:convertNumber maxFractionDigits="1" >
</f:convertNumber>
</h:outputText>
</p:column>
...
...
@ViewScoped backBean中“items”属性的getter代码为:
void List<Object[]> getItems(){
if(items==null)
items = itemsDAO.findItem();
return items;
}
itemsDAO.findItem() 是 JPA 查询返回我的 list,我用它来提供我的数据表。
当我单击“排序”箭头时,它无法对我的表格进行排序,并且页面挂起,底部显示一个永无止境的加载程序。为了更清楚起见,item[4] 包含一个 BigDecimal,正如我所读到的,可能需要为 String 或 Integer 以外的类型实现一些“sortFunction”。对吗?抱歉,如果我不太清楚,这是我在这里的第二篇文章,如果我跳过某些规则,请告诉我。谢谢!
【问题讨论】:
标签: sorting jsf primefaces datatable