primeFaces分页的错误;无限页数

时间:2014-08-28 16:16:16

标签: jsf primefaces pagination

我目前正在研究JSF项目的查找表。 我有这个表,以后会链接到数据库时显示很多代码(现在它是硬编码的数据)所以我添加了primefaces 5.0分页。这里的问题是我有一个Bug,当我为特定代码创建一个表,更改代码,然后返回到此表时发生。 Look what happens

enter image description here

无限数量的页面只有3个数据...每个页面都相同,如果我更改每页的结果数量,问题就会消失。

以下是代码中的表格:

<h:form id="currentTable">
    <p:growl id="msgs" showDetail="true"/>
    <p:dataTable widgetVar="dataTableWidgetVar" var="lookupRow"
                 value="#{lookupsView.currentLookup.lookupRows}" editable="true"
                 style="margin-bottom:20px"
                 styleClass="tableWrapText"
                 paginator="true"
                 paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
                 rowsPerPageTemplate="10, 20, 30, 40, 50, 100, 200"
                 filteredValue="#{lookupsView.filteredLookupRows}">

        <p:ajax event="rowEdit" update=":currentTable:msgs" listener="#{lookupsView.onRowEdit}"/>
        <p:ajax event="rowEditCancel" update=":currentTable:msgs"
                listener="#{lookupsView.onRowCancel}"/>
        <p:column headerText="XBRL Code" filterBy="#{lookupRow.xbrlCodeMember.memberValue}"
                  footerText="contains" filterMatchMode="contains">
            <h:outputText value="#{lookupRow.xbrlCodeMember.memberValue}"/>
        </p:column>
        <p:column headerText="Client Code " filterBy="#{lookupRow.clientCode}" footerText="contains"
                  filterMatchMode="contains">
            <p:cellEditor>
                <f:facet name="output"> <h:outputText value="#{lookupRow.clientCode}"/></f:facet>
                <f:facet name="input"><p:inputText value="#{lookupRow.clientCode}" style="width:100%"/></f:facet>
            </p:cellEditor>
        </p:column>
        <p:column headerText="XBRL Label" filterBy="#{lookupRow.xbrlCodeMember.memberDescription}"
                  footerText="contains" filterMatchMode="contains">
            <h:outputText value="#{lookupRow.xbrlCodeMember.memberDescription}"/>
        </p:column>
        <p:column headerText="Client Label" filterBy="#{lookupRow.clientDescription}"
                  footerText="contains" filterMatchMode="contains">
            <p:cellEditor>
                <f:facet name="output"><h:outputText value="#{lookupRow.clientDescription}"/></f:facet>
                <f:facet name="input"><p:inputText value="#{lookupRow.clientDescription}"
                                                   style="width:100%"/></f:facet>
            </p:cellEditor>
        </p:column>
        <p:column style="width:32px">
            <p:rowEditor/>
        </p:column>
    </p:dataTable>
</h:form>

你知道这个bug可能来自哪里吗? 它位于Jboss7服务器上。

1 个答案:

答案 0 :(得分:1)

我找到了解决方案,这是因为&#34;#{lookupsView.filteredLookupRows}&#34;变量,你必须通过将它设置为null来清理,每次你改变你显示的表或它以某种方式中断。