【问题标题】:after filtering Empty rows blank rows displayed while paging in the datatable using Primefaces在使用 Primefaces 在数据表中分页时显示空行后显示的空白行
【发布时间】:2011-06-29 20:59:59
【问题描述】:

我对使用 Primefaces 2.2.1 和 JSF 2.0 的数据表有疑问。

我在数据表中使用了过滤和分页。当我尝试过滤所选数据时显示,当我删除过滤器时显示整个数据。但是在此之后,当我尝试使用分页时,突然所有行都变为空白(空) 请看下面的截图

任何建议。请帮忙。

.xhtml 文件

<p:dataTable var="user" value="#{userManagedBean.searchUsersResults}"
        selection="#{userManagedBean.selectedUser}" selectionMode="single"
        dynamic="true"
        onRowSelectUpdate="userUpdateForm"
        onRowUnselectUpdate="userUpdateForm"
        rowSelectListener="#{userManagedBean.onUserSelect}"
        rowUnselectListener="#{userManagedBean.onUserUnselect}"
        paginator="true" rows="10" style="width: 70% ">
        <p:column sortBy="#{user.userId}" filterBy="#{user.userId}" >
            <f:facet name="header">
            <h:outputText value="Id" />
            </f:facet>
            <h:outputText value="#{user.userId}" />
            </p:column>
            <p:column sortBy="#{user.username}" filterBy="#{user.username}">
            <f:facet name="header">
            <h:outputText value="Name" />
            </f:facet>
            <h:outputText value="#{user.username}" />
            </p:column>
            <p:column sortBy="#{user.emailId}" filterBy="#{user.emailId}">
            <f:facet name="header">
            <h:outputText value="Email" />
            </f:facet>
            <h:outputText value="#{user.emailId}" />
            </p:column>
            <p:column sortBy="#{user.dob}" filterBy="#{user.dob}">
            <f:facet name="header">
            <h:outputText value="DOB" />
            </f:facet>
            <h:outputText value="#{user.dob}" >
                <f:convertDateTime pattern="MM/dd/yyyy" />
            </h:outputText>
        </p:column>
    </p:dataTable>
    <p:panel id="userDetailsPanelId" header="Users Details" style="width:60%;">
    <h:panelGrid columns="2" cellpadding="2" id="userUpdateForm" border="0" >
            <h:outputLabel for="#{userManagedBean.selectedUser.userId}" value="UserId"/>
            <h:inputText value="#{userManagedBean.selectedUser.userId}" style="width: 100%;" readonly="true"></h:inputText>

            <h:outputLabel for="#{userManagedBean.selectedUser.username}" value="Username"/>
            <h:inputText value="#{userManagedBean.selectedUser.username}" readonly="true"></h:inputText>

            <h:outputLabel for="#{userManagedBean.selectedUser.emailId}" value="EmailId"/>
            <h:inputText value="#{userManagedBean.selectedUser.emailId}" readonly="true"></h:inputText>

            <h:outputLabel for="#{userManagedBean.selectedUser.gender}" value="Gender"/>
            <h:inputText value="#{userManagedBean.selectedUser.gender}" readonly="true"></h:inputText>

            <h:outputLabel for="#{userManagedBean.selectedUser.dob}" value="DOB"/>
            <h:inputText value="#{userManagedBean.selectedUser.dob}" readonly="true">
                <f:convertDateTime pattern="MM/dd/yyyy" />
            </h:inputText>

        </h:panelGrid>
        </p:panel>
    </h:form>
    </center>

【问题讨论】:

    标签: jsf datatable facelets primefaces


    【解决方案1】:

    我遇到了同样的问题,最终发现这是由于我的值对象(在本例中是您的用户对象)没有实现 Serializable 引起的。

    【讨论】:

      【解决方案2】:

      我很确定这个已知问题已在 2.2.RC 和 2.2 最终版本中得到解决。我建议更新你的 jar 文件。

      【讨论】:

      • 感谢您的回复。但我已经在使用 primefaces-2.2.1.jar,它可以在 primefaces 网站上找到。您是否有任何其他网址链接可以访问“2.2.RC 和 2.2 决赛”。请提出建议。
      • 不,你说得对,这是他们网站的最新版本。您可能想尝试 PrimeFaces 支持论坛,或将此作为错误报告给 PrimeFaces。
      • 是的。我已经在 PrimeFaces 中报告了它,但仍然没有运气。 primefaces.prime.com.tr/forum/viewtopic.php?t=7931
      • 嗨,肖恩,如果可能的话,你能看看这个问题吗stackoverflow.com/questions/5033224/…
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多