Jsf Primefaces数据表排序问题

Jsf Primefaces数据表排序问题,jsf,sorting,primefaces,datatable,Jsf,Sorting,Primefaces,Datatable,我在数据表中遇到问题。所有列的标题都有sortBy,除了最后一列有TieredMenu,并且每个MenuItem使用item作为参数调用backingbean。 Datatable加载了一个按一个字段排序的列表,我没有使用DataModel 问题在于,按任何字段排序后,作为参数传递的项都是初始项,而不是实际项 例如: 最初,列表按第三个字段排序: gomez 5 4 alvarez 3 5 carballo 3 8 按第一个字段排序后: alvarez 3 5 carballo 3 8 gom

我在数据表中遇到问题。所有列的标题都有sortBy,除了最后一列有TieredMenu,并且每个MenuItem使用item作为参数调用backingbean。 Datatable加载了一个按一个字段排序的列表,我没有使用DataModel

问题在于,按任何字段排序后,作为参数传递的项都是初始项,而不是实际项

例如:

最初,列表按第三个字段排序:

gomez 5 4
alvarez 3 5
carballo 3 8
按第一个字段排序后:

alvarez 3 5
carballo 3 8
gomez 5 4
如果我点击第一行,我得到的是戈麦斯而不是阿尔瓦雷斯

这是datatable的代码:

<p:dataTable scrollable="true" scrollHeight="290" 
        value="#{bb.list}"
        id="tablaEnAtencion" var="item" width="100%" rows="10000"
        sortBy="#{item.third}" sortOrder="descending"
        filteredValue="#{bb.listFiltered}">
    ...
    <p:column style="text-align:center;" width="24">
        <p:commandButton id="dynaButtonAtencion" icon="ui-icon-gear" type="button" style="width:100%;" />
        ...
        <p:tieredMenu overlay="true" trigger="dynaButtonAtencion" my="left top" at="left bottom" style="width:170px">
            <p:menuitem value="action" actionListener="#{bb.act1(item)}" />
        </p:tieredMenu>
    </p:column>
</p:dataTable>
在这个项目中,我有很多数据表,这个问题只发生在这个表上。 我试过: -删除某些列上的排序 -添加不带侦听器的排序事件 -使用排序侦听器添加排序事件,并在此方法上按代码对列表排序 -卸下过滤器 -使用f:setPropertyActionListener将值发送到bb

支持bean是可视范围的。
Primefaces 3.4,faces 2.1.13。

我发现了问题所在。该页面有一个带有2个选项卡的tabView:第一个选项卡有2个dataTable,第二个选项卡有问题,第二个选项卡有一个dataTable。将呈现的atribute添加到包含第二个选项卡上的表的面板后,问题不再发生。请为您的解决方案提供代码片段,好吗?我也遇到了同样的问题,但无法理解你的解释。非常感谢!