在支持bean中获取p:dataTable的排序状态

时间:2014-08-23 16:25:42

标签: jsf primefaces datatable

我需要从支持bean获取数据表的排序数据列表

我在执行排序操作后尝试获取如下列表,

public class PmoRequestService{

    List<RequestEntity> requestList;

    public void seeListAfterOrdering(){
        FacesContext facesContext = FacesContext.getCurrentInstance();
        DataTable dataTable = (DataTable) facesContext.getViewRoot().findComponent("entities");

        List<RequestEntity> newList = (List<RequestEntity>)dataTable.getValue();

    }

    //getters - setters
}

但是在初始化数据表时(不进行排序),这会给出相同的列表。我的意思是newListrequestList具有相同的数据顺序,并且不会受到排序的影响。

修改

<p:dataTable id="entities" widgetVar="cellRequest" 
    var="entityVar"
    value="#{pmoRequestService.requestList}"
    rowKey="#{entityVar.cdProcess}"
    selection="#{pmoRequestService.selectedRequest}"
    draggableColumns="true" resizableColumns="true" paginator="true"
    editable="true" editMode="cell" rows="17"
    sortMode="multiple" selectionMode="single" >

... Some columns here

<!--this is unique identifier column for each row-->
<p:column headerText="Request Id" width="60"
        sortBy="#{entityVar.cdProcess}" filterBy="#{entityVar.cdProcess}"
        filterMatchMode="contains">
        <h:outputText value="#{entityVar.cdProcess}" />
</p:column> 

...Some columns here

</p:dataTable>

修改

我正在使用PF版本5

0 个答案:

没有答案