带有过滤功能的primefaces中的可编辑数据表

时间:2014-05-06 06:06:59

标签: jsf-2 primefaces jsf-1.2 jsf-2.2

您好我使用的是primefaces 4.0和jsf 2x。在我的应用程序中,我有一个带过滤的可编辑数据表。每当我过滤一行并单击编辑我没有得到我选择的行值。

PFB我的Bean课程:

class MyBean{

    private List<MyEntity> details;
    private List<MyEntity> filteredDetails;
    private MyEntity entity;
    private DataTable dataTable;

    //Setters and Getters

}

我的xhtml页面的一部分:

<p:dataTable value="#{myBean.details}"
    var="dashboard"
    binding="#{myBean.dataTable}"
    id="dashboardTable" paginator="true" rows="10"
    paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink}"
    rowsPerPageTemplate="10"
    filteredValue="#{myBean.filteredDetails}"
    widgetVar="viewdashboardtable" paginatorPosition="bottom">

        <f:facet name="header">
            <h:outputText value="Dashboard Details"></h:outputText>
        </f:facet>

        <p:column id="column1" filterBy="customerNumber"
            filterMatchMode="contains">
            <f:facet name="header">
                <h:outputText value="customerNumber"></h:outputText>
            </f:facet>
            <h:commandLink value="#{dashboard.customerNumber}"
                action="editdetails">
                <f:setPropertyActionListener value="#{dashboard}"
                    target="#{myBean.Entity}" />
            </h:commandLink>

        </p:column>

        .......
        .......

此处每页只显示两行。该页面按排序顺序显示客户编号1,2,3和4的客户详细信息。

-------------------------------------------------------
customerNumber           Name           Age
-------------------------------------------------------
    1                   Dheepan         23
    2                   Sasi            23
    3                   Pushparaj       24
    4                   Prabha          24

当我使用客户编号3过滤表格时,我只得到如下所示的一行。

-------------------------------------------------------
customerNumber           Name           Age
-------------------------------------------------------
    3                   Pushparaj       24

如果我现在点击客户编号进行编辑,我将获得客户详细信息1而不是3.问题是在过滤行索引1的详细信息后,客户编号为客户详细信息1.可以帮助任何人我来解决这个问题?

更新:rowExpansion + Filter也会出现同样的问题。

1 个答案:

答案 0 :(得分:1)

这是PF 4.0中的已知问题。它已在Elite版本中修复,但实时滚动仍然会出现问题。 PrimeFaces 5.0昨天作为一个社区(免费使用)版本刚刚到达,而该版本的AFAIK包含此行为的修复程序。