10

我写了一个 Liferay 搜索容器,效果很好。
现在我希望列可以按字母顺序排序,所以我添加了orderable="true"

<liferay-ui:search-container
    <liferay-ui:search-container-results
        results="<%= BicycleLocalServiceUtil.getBicyclesByCompanyId(
                                         themeDisplay.getCompanyId()) %>"
        total="<%= BicyleLocalServiceUtil.getBicyclesCount() %>" />

    <liferay-ui:search-container-row
        className="com.example.portal.portlet.navigation.model.Bicycle"
        keyProperty="bicycleId"
        modelVar="bicycle"
        escapedModel="<%= true %>">

        <liferay-ui:search-container-column-text
            name="name"
            property="name"
            value="<%= bicycle.getName() %>"
            orderable="<%= true %>"
        />

        <liferay-ui:search-container-column-text
            name="nickname"
            property="nickname"
            orderable="<%= true %>"
        />

        <liferay-ui:search-container-column-jsp
            align="right"
            path="/html/bicycle/bicycle_actions.jsp" />
    </liferay-ui:search-container-row>

    <liferay-ui:search-iterator />
</liferay-ui:search-container>

结果看起来不错:Liferay 可订购但是当我单击名称或任何小箭头时,下面的行的顺序不会改变

我错过了什么吗?
我不需要任何自定义比较器,因为值是简单的字符串,例如“Bob”和“Joe”。

4

1 回答 1

1

您需要指定oderableProperty

<liferay-ui:search-container-column-text
            name="nickname"
            property="nickname"
            orderableProperty="nickname"
            orderable="<%= true %>"
        />
于 2017-06-02T14:53:39.767 回答