primefaces 4 datatable pager仅在第一次ajax更新后才起作用

时间:2014-02-28 14:21:26

标签: primefaces datatable pagination

我有一个primefaces 4数据表,当加载页面时,分页器不工作..当我点击按钮没有任何反应。但是显示了第一个数据。我现在在分页器开始工作后对表进行排序/过滤。

        <p:dataTable var="user" value="#{proxyUserListHandler.lazyModel}" paginator="true" rows="10" paginatorTemplate="{RowsPerPageDropdown} {FirstPageLink} {PreviousPageLink} {CurrentPageReport} {NextPageLink} {LastPageLink}" rowsPerPageTemplate="10,50,100,200,500" lazy="true">

            <p:column headerText="Id" sortBy="id" filterBy="#{user.id}">
                <h:outputText value="#{user.id}" />
            </p:column>

            <p:column headerText="Username" sortBy="username" filterBy="#{user.username}">
                <h:outputText value="#{user.username}" />
            </p:column>

            <p:column headerText="apiKey" sortBy="apiKey" filterBy="#{user.apiKey}">
                <h:outputText value="#{user.apiKey}" />
            </p:column>

        </p:dataTable>

2 个答案:

答案 0 :(得分:1)

问题是

<p:dataTable value="#{listHandler.lazyModel}"

该函数总是返回一个新的LazyModel ...不知何故,该函数被调用两次,并且只在第一个对象上调用了“load”函数。

答案 1 :(得分:0)

您可能在页面上有另一个错误,您没有注意到(很可能没有报告!)

尝试将页面功能减少到最小值以使数据表正确反应,然后重新添加其他页面组件,直到数据表行为再次受到影响。