Primefaces DataTable排序问题

时间:2013-01-05 16:38:43

标签: jsf sorting primefaces datatable

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

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

例如:

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

gomez 5 4
alvarez 3 5
carballo 3 8

按第一个字段排序后:

alvarez 3 5
carballo 3 8
gomez 5 4

如果我点击第一行,我会得到gomez而不是alvarez。

这是数据表的代码:

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

在项目中我有很多DataTable,这个问题只发生在这个表上。 我试过了: - 删除某些列的排序 - 添加没有监听器的排序事件 - 使用排序侦听器添加排序事件,并按列表的代码顺序添加此方法顺序 - 删除过滤器 - 使用f:setPropertyActionListener将值发送到bb

Backing bean是ViewScoped。 Primefaces 3.4,面对2.1.13。

0 个答案:

没有答案