Primefaces p:datatable sortBy 无法正常工作

Primefaces p:datatable sortBy not working properly

我的网站上显示了预制视图。数据查询是通过 Hibernate 从 DB2 数据库完成的,并使用 JSF 显示。整个过程在本地 JBoss 服务器上运行。

这是HTML背后的逻辑bean:

@Named(value = "vb")
@ViewScoped
public class ViewBean implements Serializable {

@Inject
private ViewHandler vh;

@PostConstruct
public void init() {
}

public List<PortView> getPVList() {
    return vh.getPortViewList();
}

ViewHandler vh 检索来自相应实体的视图列表。 (见下文)

@Stateless
public class ViewHandler {

public List<PortView> getPortViewList() {
    List<PortView> pvlist = em.createQuery("SELECT v FROM PortView v", PortView.class).getResultList();
    return pvlist;
}

这里你看到 p:datatable 在我的 html:

<html>
<h:body>
<h:form>
    <p:dataTable var="portview" value="#{vb.PVList}"
        resizableColumns="true" stickyHeader="true"
        stickyTopAt=".layout-topbar"
        style="margin-left:10%; margin-right:10%; font-family: verdana">

        <p:column style="width: 0px" sortable="false" />
        <p:column headerText="Instance" sortBy="#{portview.instance}"
            style="font-family: verdana; text-align:left">
            <h:outputText value="#{portview.instance}" />
        </p:column>

        [more columns]

    </p:dataTable>
</h:form>
</h:body>
</html>

问题:每一列都无法排序,内容总是随机的。我应该怎么做才能解决这个问题?

幸运的是@Melloware 能够回答我的问题:您只需将 sortBy="#{var.property}" 添加到 p:dataTable 属性即可。

有关文档,请参阅 here