rich:column sortBy没有正确排序

时间:2010-02-05 11:24:05

标签: java jsf seam richfaces

这是由seam-gen(2.2.0)生成的原始代码

    <h:column>
        <f:facet name="header">
            <ui:include src="/layout/sort.xhtml">
                <ui:param name="entityList" value="#{userList}"/>
                <ui:param name="propertyLabel" value="Name"/>
                <ui:param name="propertyPath" value="user.name"/>
            </ui:include>
        </f:facet>
        <h:outputText value="#{_user.name}"/>
    </h:column>

我们喜欢排序功能,因此我们包含了rich:column sortBy,但是排序是不正确的(在分页页面中它丢失了排序功能,因为排序参数没有在页面导航上发送),如果我们不使用/在f:facet中的layout / sort.xhtml。

                <rich:column sortBy="#{_user.name}">
                    <f:facet name="header">Name</f:facet>
                    <h:outputText value="#{_user.name}"/>
                </rich:column>

我们如何获得与使用rich之前相同的功能:column sortBy

1 个答案:

答案 0 :(得分:1)

对于sortBy,就像seam-gen为你生成排序一样,你需要生成完整的列表,而不是接缝的实体框架所做的列表的一部分。

即:

List allResults = entityManager.createQuery("From X").getResultList();

现在,如果你只是为了测试而尝试在你的sortBy中使用这个列表,你会发现它会像你一样工作。但是,缺点是这将加载所有结果并放入内存。这可能不是你想要的。

然而,您应该将此与一些搜索结果一起使用,因此它已根据某些用户输入进行过滤。