过滤空行后使用Primefaces在数据表中进行分页时显示的空白行

时间:2011-02-18 14:31:51

标签: jsf datatable facelets primefaces

我使用Primefaces 2.2.1和JSF 2.0时遇到数据表问题。

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

enter image description here

enter image description here

enter image description here

任何建议。请帮忙。

.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>

2 个答案:

答案 0 :(得分:12)

我遇到了同样的问题,最终发现它是由我的值对象(在这种情况下是你的用户对象)没有实现Serializable引起的。

答案 1 :(得分:0)

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