Jsf 获取支持bean中p:dataTable的排序状态
我需要从备份bean中获得datatable的排序数据列表 在执行排序操作后,我尝试获取如下列表Jsf 获取支持bean中p:dataTable的排序状态,jsf,primefaces,datatable,Jsf,Primefaces,Datatable,我需要从备份bean中获得datatable的排序数据列表 在执行排序操作后,我尝试获取如下列表 public class PmoRequestService{ List<RequestEntity> requestList; public void seeListAfterOrdering(){ FacesContext facesContext = FacesContext.getCurrentInstance(); DataT
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
}
编辑:
我正在使用PF版本5哪个PF版本?你到底什么时候执行那段代码?这对我来说适用于PF5,在调用应用程序阶段直接使用requestList属性,而无需对整个组件进行不必要的抓取。我将其添加到问题中,您忘记回答另一个问题。我需要在backing bean中获取datatable的排序数据列表,在用户执行排序操作后进行排序。好的,我只需要直接访问requestList就可以了。也许您在getter方法中做的比只返回requestList更多?
<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>