2012-05-07 85 views
1

我有一個Ajax更新的問題。從SelectOneMenu組件我想選擇一個排序選項,但ajax調用總是與選擇的最後一個不是當前選項。 這是使用的代碼片段,更新組件是一個LazyDataModel,我想對其中的數據進行排序。我對jsf和primefaces很陌生,希望我已經清楚了。SelectOneMenu Ajax更新仍然落後一步

<p:selectOneMenu id="selectSortDirection" value="#{notificationListView.sortDirection}"> 
          <f:selectItems value="#{notificationListView.sortDirections}" var="currItem" 
           itemLabel="#{currItem.label}" itemValue="#{currItem.value}" /> 
          <p:ajax event="change" update="notificationListDataTable" /> 
         </p:selectOneMenu> 
+0

does not notificationListDataTable依靠#{notificationListView.sortDirection}「?也看看這個http://www.primefaces.org/showcase/ui/pprSelect.jsf – Daniel

+0

是的,它使用sortDirection作爲排序順序。基本上編輯:它不類似於primefaces的用例,如果sortDirection爲null,它設置爲默認值 – Viocartman

+0

添加一些打印輸出你的代碼,看看滯後發生在哪裏...... – Daniel

回答

0

檢查以下內容:

如果添加一個監聽器ajax,在listener方法,你看到的notificationListView.sortDirection正確的價值?並且在你的監聽器方法之後調用notificationListView.sortDirection的getter?